设为首页 收藏本站
查看: 864|回复: 0

[经验分享] 企业应用监控利器

[复制链接]

尚未签到

发表于 2019-1-18 11:18:00 | 显示全部楼层 |阅读模式
  zabbix简介
    zabbix(http://www.zabbix.com/)是一个基于WEB界面的提供分布式系统监视以及网络监视功能的企业级的开源解决方案。

    zabbix能监视各种网络参数,保证服务器系统的安全运营;并提供柔软的通知机制以让系统管理员快速定位/解决存在的各种问题。
    zabbix由2部分构成,zabbix server与可选组件zabbix agent。

    zabbix server可以通过SNMP,zabbix agent,ping,端口监视等方法提供对远程服务器/网络状态的监视,数据收集等功能,它可以运行在Linux, Solaris, HP-UX, AIX, Free BSD, Open BSD, OS X等平台上。  
    zabbix agent需要安装在被监视的目标服务器上,它主要完成对硬件信息或与操作系统有关的内存,CPU等信息的收集。zabbix agent可以运行在Linux ,Solaris, HP-UX, AIX, Free BSD, Open BSD, OS X, Tru64/OSF1, Windows NT4.0, Windows 2000/2003/XP/Vista)等系统之上。

    zabbix server可以单独监视远程服务器的服务状态;同时也可以与zabbix agent配合,可以轮询zabbix agent主动接收监视数据(trapping方式),同时还可被动接收zabbix agent发送的数据(trapping方式)。

    另外zabbix server还支持SNMP (v1,v2),可以与SNMP软件(例如:net-snmp)等配合使用。
    zabbix的主要特点:  
    - 安装与配置简单,学习成本低  
    - 支持多语言(包括中文)  
    - 免费开源  
    - 自动发现服务器与网络设备  
    - 分布式监视以及WEB集中管理功能  
    - 可以无agent监视  
    - 用户安全认证和柔软的授权方式  
    - 通过WEB界面设置或查看监视结果  
    - email等通知功能 宋体黑色
  附加说明
    其实网上已有很多的文章说明怎么搭建监控系统,其中最多的要属cacti其次就属zabbix了。个人对这两个软件都体验了一把,感觉zabbix最大的优势是简单、高效;而cacti虽然图然很好看但监控出来的数据不准确(和现实系统表现出来的有出入下面是cacai的图,大家可对比一下)。



  最后决定发现zabbix是正确的选择。网上看上去有很多参考资料,但当你参考时发现仍会出现不同的问题:系统环境不一样;zabbix的版本不一致;相关的PHP模块找不到;相关的MYSQL版本不一致;找不到合适的监控模板等等,本文的目的是尽量解决这些问题同时将自己的做法及想法贡献出来大家一起参考。其中有些部份的内容可能用不到放在这里的原因仅做参考用。
  网络设定相关
  1.增加路由

  • route add -net 172.16.0.0 netmask 255.255.0.0 gw 192.168.0.22

  2.系统启动后网卡需手动激活
    原因是最小化安装CentOS6.2后,网卡是没有默认启动的(onboot=“no”),并且设置了依赖NetworkManager 的选项(NM_CONTROLLED="yes"),但是minimal的情况下并没有安装系统默认提供的网络管理工具NetworkManger。我们需要修改/etc/sysconfig/network-script/ifcfg-eth0文件
  3.安装传输文件协方式

  • yum install lrzsz

  时间设定
  1.时间设定

  • hwclock --set --date="07/07/06 10:19"
  • hwclock --hctosys

    时间的正确设定很重要,时间不同步将导致监控的数据不一致,有可能出现监控了一周却始终只有三五天数据或是无法得到当前时间数据的情况。其中第一条语句是设定硬件时钟,第二条语句是设定系统时钟和硬件时钟同步。
  2.时区设定

  • tzselect

    时区的设定也很重要,如果系统及硬件时钟正确而时区设定不正确的话会导致图形显示出来的数据相关几个小时,因些调整好时区也是一个重要的步骤。
    查找系统文件etc/sysconfig/clock并修改为:

  • ZONE="Asia/Shanghai"
  • UTC=true
  • ARC=false

    找到系统文件/usr/share/zoneinfo/Asia/Shanghai用这个文件替换当前的/etc/localtime文件

  • cp /usr/share/zoneinfo/Asia/Shanghai /etc/localtime

    修改php.ini

  • date.timezone = Asia/Shanghai

  字体设定
    zabbix自带的中文字体不太好看,你可以将自己替换喜欢的字体。常用的字体windows其实已经自带了(系统字体的存放位置位于c:\windows\font中,如下图所示),你可以直接用windows中的字体进行替换。
  

  • wget http://nchc.dl.sourceforge.net/project/zabbix/ZABBIX%20Latest%20Stable/2.0.0/zabbix-2.0.0.tar.gz
  • tar zxvf zabbix-2.0.0.tar.gz
  • cp -r /root/zabbix-2.0.0/frontends/php /var/www/html/
  • mv /var/www/html/php/ /var/www/html/zabbix
  • cd /var/www/html/zabbix/fonts/
  • cp -frp DejaVuSans.ttf DejaVuSans.ttf.old
  • mv simsunb.ttf DejaVusans.ttf

  XDMCP设定
    对于在windows下想用xmanager连接linux进行图形化远程操作的人员来说,设定好XDMCP是必不可少的步骤。这里仅仅介绍linux端的设定,对于该方式和该软件不了解的可以自己google下。

  • vi /etc/gdm/custom.conf

    修改配置文件。

  • [daemon]
  • [security]
  • AllowRemoteRoot=true
  • [xdmcp]
  • Enable=true
  • [greeter]
  • IncludeAll=true
  • [chooser]
  • [debug]

  iptables设定
    iptables的作用及它的重要性不需做太多解释,这里只列出必要开放的端口,对于语句或内容有疑问的请自行google或和我联系。

  • vi /etc/sysconfig/iptables

    修改iptables配置文件

  • :INPUT ACCEPT [0:0]
  • :FORWARD ACCEPT [0:0]
  • :OUTPUT ACCEPT [0:0]
  • -A INPUT -m state --state ESTABLISHED,RELATED -j ACCEPT
  • -A INPUT -p icmp -j ACCEPT
  • -A INPUT -i lo -j ACCEPT
  • -A INPUT -m state --state NEW -m tcp -p tcp --dport 22 -j ACCEPT
  • -A INPUT -m state --state NEW -m udp -p udp --dport 177 -j ACCEPT
  • -A INPUT -m state --state NEW -m tcp -p tcp --dport 6000:6010 -j ACCEPT
  • -A INPUT -m state --state NEW -m tcp -p tcp --dport 10050:10051 -j ACCEPT
  • -A INPUT -m state --state NEW -m udp -p udp --dport 10050:10051 -j ACCEPT
  • -A INPUT -m state --state NEW -m tcp -p tcp --dport 80 -j ACCEPT
  • -A INPUT -j REJECT --reject-with icmp-host-prohibited
  • -A FORWARD -j REJECT --reject-with icmp-host-prohibited
  • COMMIT

  HTTPD设定
    HTTPD的作用也无需太多介结大家都能明白,这里需要说明的是HTTPD的设定可能是在安装了HTTP和PHP组件后,这里仅做参考用并不代表安装一定按些步骤。实在不明白的google吧。

  • vi /etc/httpd/conf.d/zabbix.conf

    增加配置文件


  •         ServerAdmin zabbix
  •         DocumentRoot /var/www/html/zabbix
  •         ErrorLog /var/log/httpd/zabbix.log
  •         HostnameLookups Off
  •         UseCanonicalName Off
  •         ServerSignature Off


  •         Options FollowSymLinks
  •         AllowOverride None
  •         Order allow,deny
  •         Allow from all



  •         Options Indexes FollowSymLinks
  •         AllowOverride None
  •         Order allow,deny
  •         Allow from all



  禁用selinux
    selinux确实提高了系统的安全性,但另一方面也给应用程序增加了很多的不确定性。我在安装配置完zabbix后曾出现过始终无法打开浏览页面无法进入web安装界面的情况,后来禁用selinux后问题解决。对于selinux的启用与否个人见仁见智可以根据自已的需求决定是否开启。

  • vi /etc/selinux/config

    禁用selinux

  • SELINUX=disabled
  • SELINUXTYPE=targeted

  禁用ctrl+alt+del
    禁用ctrl+alt+del的作用是防止机房管理人员误操作导致系统重启的问题。需注意的是在centos6之前的版本中该设置文件是/etc/inittab,而到了centos6以后被放到了/etc/init/control-alt-delete.conf中。

  • vi /etc/init/control-alt-delete.conf

    禁用ctrl+alt+del

  • #start on control-alt-delete
  • #exec /sbin/shutdown -r now "Control-Alt-Delete pressed"

  1.增加用户组
    主要是增加zabbix用户组,如果不增加该用户和组,在后面的编译安装时将会有相关提示。

  • groupadd -g 130 zabbix
  • useradd -u 130 -g zabbix -c "Zabbix Monitoring" zabbix

  2.增加软件源

  • wget http://mirrors.163.com/.help/CentOS6-Base-163.repo
  • mv CentOS6-Base-163.repo /etc/yum.repos.d/
  • wget http://mirrors.ustc.edu.cn/fedora/epel//6/i386/epel-release-6-7.noarch.rpm
  • rpm -ivh epel-release-6-7.noarch.rpm

  3.安装相关软件

  • yum --enablerepo=epel install iksemel iksemel-devel
  • yum install mysql-server httpd php mysql-devel gcc net-snmp-devel curl-devel perl-DBI php-gd php-mysql php-bcmath   php-mbstring php-xml postfix zlib-devel glibc-devel automake mysql libidn-devel openssl-devel rpm-devel   OpenIPMI-devel
  • yum -y install gcc gcc-c++ autoconf libjpeg libjpeg-devel libpng libpng-devel freetype freetype-devel libxml2 libxml2-devel zlib zlib-devel glibc glibc-devel glib2 glib2-devel bzip2 bzip2-devel ncurses ncurses-devel curl curl-devel e2fsprogs e2fsprogs-devel krb5 krb5-devel libidn libidn-devel openssl openssl-devel openldap openldap-devel nss_ldap openldap-clients openldap-servers
  • yum  install net-snmp*

  4.配置数据库

  • service mysqld start
  • mysqladmin -u root password 'password'
  • mysql_secure_installation
  • mysql -uroot -p
  • create database zabbix default character set utf8;
  • grant all privileges on zabbix.* to 'zabbix'@'localhost' identified by 'password';
  • quit;
  • tar zxvf zabbix-2.0.0.tar.gz
  • cd database/mysql
  • cat schema.sql |mysql -u zabbix -p zabbix
  • cat images.sql |mysql -u zabbix -p zabbix
  • cat data.sql |mysql -u zabbix -p zabbix

  5.编译zabbix

  • ./configure --prefix=/usr/local/zabbix --enable-server --with-mysql --with-net-snmp --with-jabber --with-libcurl   --with-openipmi --enable-proxy --enable-agent
  • make
  • make install
  • cp misc/init.d/redhat/8.0/zabbix_* /etc/init.d/
  • chmod 755 /etc/init.d/zabbix_*
  • chown -R zabbix:zabbix /usr/local/zabbix
  • chkconfig --add zabbix_server
  • chkconfig --add zabbix_agentd
  • chkconfig --level 35 zabbix_server on
  • chkconfig --level 35 zabbix_agentd on

  6.配置zabbix

  • vi /usr/local/zabbix/etc/zabbix_server.conf

    配置zabbix_server.conf文件

  • SourceIP=192.168.0.189
  • DBName=zabbix
  • DBUser=zabbix
  • DBPassword=password
  • vi /usr/loca/zabbix/etc/zabbix_agent.conf
  • hostname=myj-jk
  • Server=192.168.0.189

    启动zabbix服务

  • service zabbix_server start
  • service zabbix_agentd start

  7.配置php.ini

  • memory_limit = 256M
  • date.timezone = Asia/Shanghai
  • post_max_size = 32M
  • max_execution_time = 600
  • upload_max_filesize = 16M
  • max_input_time = 600

  8.启动httpd服务

  • service httpd start

    到这里就可以启动web服务进行zabbix的安装了,httpd服务启动后直接在浏览器中输入服务器的IP地址开始安装,按照图形的方式一步一步安装完成吧。后面就如何自定义监控模板(IIS6、IIS7、SQL2005、SQL2008),如自定义MAP图标以及zabbix简单的性能优化写出我自己的理解。




运维网声明 1、欢迎大家加入本站运维交流群:群②:261659950 群⑤:202807635 群⑦870801961 群⑧679858003
2、本站所有主题由该帖子作者发表,该帖子作者与运维网享有帖子相关版权
3、所有作品的著作权均归原作者享有,请您和我们一样尊重他人的著作权等合法权益。如果您对作品感到满意,请购买正版
4、禁止制作、复制、发布和传播具有反动、淫秽、色情、暴力、凶杀等内容的信息,一经发现立即删除。若您因此触犯法律,一切后果自负,我们对此不承担任何责任
5、所有资源均系网友上传或者通过网络收集,我们仅提供一个展示、介绍、观摩学习的平台,我们不对其内容的准确性、可靠性、正当性、安全性、合法性等负责,亦不承担任何法律责任
6、所有作品仅供您个人学习、研究或欣赏,不得用于商业或者其他用途,否则,一切后果均由您自己承担,我们对此不承担任何法律责任
7、如涉及侵犯版权等问题,请您及时通知我们,我们将立即采取措施予以解决
8、联系人Email:admin@iyunv.com 网址:www.yunweiku.com

所有资源均系网友上传或者通过网络收集,我们仅提供一个展示、介绍、观摩学习的平台,我们不对其承担任何法律责任,如涉及侵犯版权等问题,请您及时通知我们,我们将立即处理,联系人Email:kefu@iyunv.com,QQ:1061981298 本贴地址:https://www.yunweiku.com/thread-664758-1-1.html 上篇帖子: CentOS 6.5 下安装 Zabbix 2.4 下篇帖子: python 一键添加 zabbix 监控脚本
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

扫码加入运维网微信交流群X

扫码加入运维网微信交流群

扫描二维码加入运维网微信交流群,最新一手资源尽在官方微信交流群!快快加入我们吧...

扫描微信二维码查看详情

客服E-mail:kefu@iyunv.com 客服QQ:1061981298


QQ群⑦:运维网交流群⑦ QQ群⑧:运维网交流群⑧ k8s群:运维网kubernetes交流群


提醒:禁止发布任何违反国家法律、法规的言论与图片等内容;本站内容均来自个人观点与网络等信息,非本站认同之观点.


本站大部分资源是网友从网上搜集分享而来,其版权均归原作者及其网站所有,我们尊重他人的合法权益,如有内容侵犯您的合法权益,请及时与我们联系进行核实删除!



合作伙伴: 青云cloud

快速回复 返回顶部 返回列表