Zabbix基本配置及监控主机

 

监控主机一版需要在被监控的主机上安装Zabbix Agent

Centos 源码安装zabbix 2.4.5,centoszabbix

监控主机

Zabbix简介

Zabbix是一个基于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-agent

首先需要在被监控的主机上安装agent,可以下载预编译好的RPM进行安装,下载地址:

也可以源码安装,类似server的安装,只是一个地方有区别,就是配置的参数只有一个:

$./configure –prefix=/home/zabbix --enable-agent

Zabbix特点

 安装与配置简单,学习成本低
 支持多语言(包括中文)   
 免费开源   
 自动发现服务器与网络设备   
 分布式监视以及WEB集中管理功能   
 可以无agent监视   
 用户安全认证和柔软的授权方式   
 通过WEB界面设置或查看监视结果   
 支持手机短信、email等通知功能等等
配置agent

以RPM安装为例,安装后的agent配置文件位置:/etc/zabbix/zabbix_agentd.conf,主要需要修改下列2项:

Server=192.168.0.41

ServerActive=192.168.0.41:10051

修改完成后,重启zabbix-agent 服务。

Zabbix主要功能

 CPU负荷   
 内存使用   
 磁盘使用   
 网络状况   
 端口监视   
 日志监视

在zabbix中配置监控主机

菜单路径:配置-》主机,

点击右上角创建主机按钮,在界面中填写必要信息,主机名称和IP地址,组群那里选择预定义的“Linux servers”。

图片 1

安装fping

由于 zabbix 使用 fping 替代了 ping 作为 icmp 的工具,所以要安装 fping 
可以从  上下载 fping 的源代码,解压编译安装。

fping是加强版的ping工具,可以同时ping多个主机。

fping的官网是:

wget http://fping.sourceforge.net/download/fping.tar.gz

tar -xvf /nfs/pkg/fping.tar.gz

cd fping-2.4b2_to/

./configure 

make && make install

安装完毕后,一起就2个文件:

/usr/local/sbin/fping #执行文件
/usr/local/man/man8/fping.8 #man文件

设置fping权限:

chown root:zabbix /usr/local/sbin/fping

chmod 710 /usr/local/sbin/fping

chmod ug s /usr/local/sbin/fping

然后再安装traceroute:

yum install traceroute -y

增加监控项和图表

添加后主机要添加监控项,菜单路径:配置-》主机,点击主机名称,再点击“监控项”

图片 2

然后点击“创建监控项”,我们这里用尝试监控CPU idle比例,这个配置的关键是键值,具体键值的定义请参考zabbix联机文档,

数据更新时间(数据采集频率),历史数据保留时长等信息使用缺省值。

图片 3

创建完监控项,就可以针对监控项建图表了,比较简单:

图片 4

然后可以点击“预览”查看效果:

图片 5

  Zabbix安装

 ①环境

1)关闭iptables

[[email protected] zabbix]# iptables -F
[[email protected] zabbix]# /etc/init.d/iptables save

2)关闭selinux

编辑文件/etc/sysconfig/selinux
将设置
 SELINUX=enforcing
修改为:
 SELINUX=disabled

 3)安装相关依赖包

  yum -y install gcc mysql-server httpd php php-mysql php-gd php-bcmath php-xml php-mbstring mysql-devel php-snmp net-snmp-devel net-snmp  net-snmp-utils OpenIPMI-devel curl-devel

 ②下载解压  
 tar xvf zabbix-2.4.5.tar.gz -C /usr/local
 增加zabbix用户和组
 groupadd zabbix
 useradd zabbix -g zabbix -s /sbin/nologin 
 ③配置zabbix数据库  
 启动MySQL数据库:
 service mysqld start
修改MySQL root用户密码(默认密码为空)
mysqladmin –u root –p password 123456
进入数据库:
mysql -u root -p
mysql> create database zabbix default charset utf8;
mysql> grant all on zabbix.* to [email protected]'localhost'   identified by '123456';
mysql> grant all on zabbix.* to [email protected]'127.0.0.1'   identified by '123456';
mysql> flush privileges;             (刷新权限配置)

quit

导入表和数据:
cd /usr/local/zabbix-2.4.5/database/mysql
mysql -u zabbix -p123456  zabbix< schema.sql    (将zabbix中的mysql.sql文件重定向到zabbix数据库中)

mysql -u zabbix -p123456 zabbix < images.sql     (有先后顺序)

mysql -u zabbix -p123456 zabbix  < data.sql

④编译安装zabbix

cd /usr/local/zabbix-2.4.5;

./configure --sysconfdir=/etc/zabbix  --prefix=/usr/local/zabbix --enable-server --enable-agent --with-mysql --with-libcurl --with-net-snmp --with-openipmi

make && make install

 配置文件

 vi /etc/zabbix/zabbix_server.conf  修改如下:

 DBName=zabbix  <---zabbix使用的数据库
 DBUser=zabbix  <---zabbix连接mysql所使用的用户名
 DBPassword=123456   <----zabbix连接mysql所使用的密码
 DBSocket=/var/lib/mysql/mysql.sock  <---如果链接的是本机的数据库,必须确定socket路径正确

 FpingLocation=/usr/local/sbin/fping  <---修改默认的icmp工具为fping

 vi /etc/zabbix/zabbix_agentd.conf

 Server=192.168.66.16   <----指向zabbix服务器的ip

 ServerActive=192.168.66.16   <----指向zabbix服务器的ip

 Hostname=192.168.66.16      <---本机(zabbix客户端)的hostname或者ip

图表中中文字符问题

Zabbix缺省使用DejaVuSans字体来生成图表中的动态文字,所以在将界面切换成中文后,图表中的中文汉字会因为缺少对应的字体文件而现实不正常,汉字会显示为一个一个小方块。

网上搜到解决方法:。就是替换zabbix用于生成图表的字体。

OL 7.1 的DVD中已经包含了文章中说的黑体字体文件,rpm文件名:wqy-microhei-fonts-0.2.0-0.12.beta.el7.noarch.rpm

安装这个黑体字体文件,然后将这个黑体字体文件复制到zabbix存放字体文件的目录:

#cp /usr/share/fonts/wqy-microhei/wqy-microhei.ttc /var/www/html/zabbix/fonts/wqy-microhei.ttf

然后修改/var/www/html/zabbix/include/defines.inc.php,将其中多处使用“DejaVuSans“的地方,替换为”wqy-microhei“

重启httpd服务,中文图表中的汉字就显示正常了。

 添加web前端php文件

 cd /usr/local/zabbix-2.4.5/frontends/

 cp -rf php /var/www/html/zabbix

 chown -R zabbix:zabbix /var/www/html/zabbix


 web前端安装配置

 vi /etc/php.ini  修改php相关参数
 max_execution_time = 600
 max_input_time = 600
 date.timezone = Asia/Shanghai
 post_max_size = 32M
 memory_limit = 256M

 vi /etc/httpd/conf/httpd.conf
 DirectoryIndex index.php index.html
 # LoadModule foo_module modules/mod_foo.so
 LoadModule php5_module  modules/libphp5.so

预警

定义触发器:(我们定义一个系统CPU IDLE小于40%就发出警告信息的触发器)

图片 6

然后定义动作,规定触发器触发时执行的动作:

图片 7

图片 8

注意我这里只选了通过Email,而为了保证通过Email能够正常发送预警邮件,需要先设置“报警媒介类型“,在菜单”管理”-》“报警媒介类型”里面选择Email,然后输入邮件服务器的信息:

图片 9

我们在主机上模拟一些压力,让系统CPU IDLE降到40%以下,系统页面上会预警,同时也会发送邮件:

图片 10

图片 11

图片 12

 启动服务

 /etc/init.d/httpd start 
 /etc/init.d/mysqld start
 /usr/local/zabbix/sbin/zabbix_server start 

 /usr/local/zabbix/sbin/zabbix_agentd start

不安装Agent监控主机可用性

Zabbix也可以实现一些非常简单的监控,只借助ping等方式,判断主机状态,这种监控是不必安装agent的,这样的方式对那些比较抵触agent的场景比较适用,可以实现最今本的可用性监控。

这种监控和前面的监控方式不同的地方主要在监控项类型上,类型选择是“简单检查“。

图片 13

简单监控不是适用ping,而是适用fping,所以适用这种监控项之前,一定要保证fping已经被安装,并且zabbix有执行权限。

安装过程就不说了,比较简单,主要是程序的权限,为了保证zabbix能访问fping,并以root身份去执行,必须保证fping带有”粘滞位(sticky) “:

#chmod 4755 /usr/sbin/fping

如果fping能够ping通,监控项项的返回值就是1,否则就是0。

注意主机接口这里其实是引用主机的定义的,而主机的定义那里其实可以随便写IP地址的,可以写成127.0.0.1,因为系统不会真的去校验那个地址的192.168.0.32的10050端口是否运行着agent,之所以还是写192.168.0.32是为了看着方便,知道每个主机对应的地址,实际上fping 找主机地址,是从键值字符串中找的。

定义了这个监控项后,后续诸如触发器和动作等的设置和安装agent的方式是一样的。

  配置Zabbix服务器端

 在本地浏览器上访问Zabbis Serve地址开始web前端配置,http://192.168.66.16/zabbix 按提示一步步next,其中Step 3 Check of pre-requisites 必须全部项目OK后
 才能继续配置,如有提示fail,去server上检查是否安装这个包或配置是否按上述更改。共需6步,如下图:

a) 进入安装界面点击Next

图片 14

 

b) 确保所有的监测项都是OK,点击Next

图片 15

c) 填写zabbix数据库的用户名、密码、地址等信息,点击Test connection,OK后点击Next

图片 16

(上图中 Database name 为前面创建的数据库名,User为前面创建的连接MySQL的数据库用户zabbix,Password为前面创建的连接MySQL数据库所使用的密码,本实验所使用的密码为123456;Test connection必须OK 才能进行下一步)

d) 填写zabbix服务器的信息,主机名,server程序监听的的端口,主机IP地址等,如果server跟web在一台服务器上保持默认即可,点击Next

图片 17

 e) 确认前面几部填写的信息没有问题的话点击Next

图片 18

 f) 检查web程序的config文件,如果没问题会显示OK,直接点击finish即可完成安装(如果此处有问题一般是zabbix虚拟主机目录文件的权限问题,上面已经有设置的过程一般不会出现问题)

图片 19

如果出现下图的错误,则按照其提示操作即可(点击

按钮下载配置文件,将下载后的文件拷贝到/var/www/html/zabbix/conf/下,改名为zabbix.conf.php,在修改文件的相关拥有者为zabbix{命令 chown zabbix.zabbix /var/www/html/zabbix/conf/zabbix.conf.php},在点击Retry按钮,变成上图所示后点击Finish即安装成功了)

图片 20

如果因为手误,数据库密码或者用户名等的填写错了,后面会一直报错,我们可以手动的去编辑配置文件vim /var/www/html/zabbix/conf/zabbix.conf.php  手动定义相关的参数即可

   g) 进入登录界面点击登录,默认账号密码为admin / zabbix 图片 21 h) 添加监控项      进入Configuration -》Hosts 选择 Zabbix Server 然后 Activate Select,Zabbix Server (本机)的监控激活。进入 Monitoring Dashboard,可以看到 Zabbix Server 的监控结果(这必须保持zabbix_agentd.conf配置文件为默认才会生效);有一点要注意:agent端配置好之后,添加host,需要添加模板才会显示绿色成功连接哟。 新建监控项: 1) 进入Configuration -》Hosts 选择图片 22.png)图片 23按钮 图片 24 2)执行第一步操作后,会进入下图所示界面,修改红色部分的内容为agent端的ip地址,其中Host name处的值必须与agent端zabbix_agentd.conf里面的值相同 图片 25 3)添加模板(必须添加相关模板后,才能获取到监控数据),点击上图中的图片 26图片 27.png)选项,会进入到下图所示界面 图片 28 4)点击上图中的select选项就会将zabbix所有的模板列出来,选择需要添加的模板后,在点击add选项添加模板,最后点击Update按钮即完成了监控的添加。 图片 29.png) 图片 30  图片 31     zabbix客户端的配置: 最好保持服务器时间同步

通过root用户解压、编译及安装

tar -xvf /nfs/pkg/zabbix-2.0.3.tar.gz;cd zabbix-2.0.3
./configure --prefix=/usr/local/zabbix/ --sysconfdir=/etc/zabbix/ --enable-agent
make 
make install

为了便于监控IO,安装上sysstat,执行如下命令:

yum install sysstat -y

sed -i s/10.71.xx.xx/$HOST_IP/g /etc/zabbix/zabbix_agentd.conf

将配置文件/etc/zabbix/zabbix_agentd.conf中的
Hostname= 10.71.xx.xx
修改成现在主机的IP,例如241
Hostname=$HOST_IP
将DisableActive=0修改为#DisableActive=0
将ServerPort=10051修改为#ServerPort=10051

添加计划任务,收集监控数据:

执行命令:
crontab -e -u zabbix
加入:
# run zabbix data gathering for custom checks every min
*/3 * * * * /usr/bin/sudo /etc/zabbix/scripts/zabbix_tomcat_cron.sh > /dev/null 2>&1
* * * * * /etc/zabbix/scripts/zabbix_vmstat_cron.sh > /dev/null 2>&1
* * * * * /etc/zabbix/scripts/zabbix_iostat_cron.sh > /dev/null 2>&1
* * * * * /etc/zabbix/scripts/zabbix_tcpConStat_cron.sh > /dev/null 2>&1
* * * * * /usr/bin/sudo /etc/zabbix/scripts/zabbix_fileSocket_cron.sh > /dev/null 2>&1
* * * * * /etc/zabbix/scripts/zabbix_DbConnStat_cron.sh > /dev/null 2>&1

设置一些特殊脚本的权限:

执行如下命令:
visudo
修改
Defaults    requiretty
为
#Defaults    requiretty

并加入:
Cmnd_Alias SU = /bin/su -
Cmnd_Alias SUWWW = /bin/su - www 
xujing    ALL=(root)      NOPASSWD: SU,SUWWW,SERVICES
Cmnd_Alias FILESOCKET =   /etc/zabbix/scripts/zabbix_fileSocket_cron.sh,/etc/zabbix/scripts/zabbix_tomcat_cron.sh,/etc/zabbix/scripts/file_socket.sh,/usr/bin/sudo,/bin/su,/bin/kill
zabbix    ALL=(root)      NOPASSWD: FILESOCKET

设置开机启动服务:

执行如下命令:
cp /nfs/script/zabbix_agentd /etc/init.d/
chmod  x /etc/init.d/zabbix_agentd
chkconfig --add zabbix_agentd
chkconfig zabbix_agentd on

启动zabbix_agentd:

执行如下命令:
/etc/init.d/zabbix_agentd start

检查日志确认启动无异常:

tail -100 /tmp/zabbix_agentd.log
220.web.lg-9-8.zwc.com<2013-04-21 01:26:10> ~/zabbix-2.0.3
root># tail -100 /tmp/zabbix_agentd.log
19506:20130421:012610.832 Starting Zabbix Agent [10.0.0.220]. Zabbix 2.0.3 (revision 30485).
19507:20130421:012610.832 agent #0 started [collector]
19509:20130421:012610.833 agent #1 started [listener]
19510:20130421:012610.833 agent #2 started [listener]
19511:20130421:012610.834 agent #3 started [listener]

本文由糖果派对电玩城发布于用户反馈,转载请注明出处:Zabbix基本配置及监控主机

您可能还会对下面的文章感兴趣: