首页 > 代码库 > 监控之zabbix的安装部署+警报的配置

监控之zabbix的安装部署+警报的配置

主机环境  redhat6.5 64位

实验环境  服务端1 ip172.25.25.1   主机名:server1.example.com

          服务端2 ip172.25.25.2   主机名:server2.example.com  

安装包    alert-agent-4.1.3.1-linux-x64.tar.gz

  fping-2.4b2-16.el6.x86_64.rpm

  iksemel-1.4-2.el6.x86_64.rpm

  iksemel-utils-1.4-2.el6.x86_64.rpm

  php-bcmath-5.3.3-26.el6.x86_64.rpm

  php-mbstring-5.3.3-26.el6.x86_64.rpm

  zabbix-2.4.5-1.el6.x86_64.rpm

  zabbix-agent-2.4.5-1.el6.x86_64.rpm

  zabbix-get-2.4.5-1.el6.x86_64.rpm

  zabbix-server-2.4.5-1.el6.x86_64.rpm

  zabbix-server-mysql-2.4.5-1.el6.x86_64.rpm

  zabbix-web-2.4.5-1.el6.noarch.rpm

  zabbix-web-mysql-2.4.5-1.el6.noarch.rpm

防火墙状态:关闭

Selinux状态:Disabled

 

1.Zabbix的安装及简单的配置

服务端1

 A)安装zabbix

[root@sever1 zabbix]# yum install zabbix-2.4.5-1.el6.x86_64.rpmzabbix-agent-2.4.5-1.el6.x86_64.rpm zabbix-get-2.4.5-1.el6.x86_64.rpmzabbix-server-2.4.5-1.el6.x86_64.rpm zabbix-server-mysql-2.4.5-1.el6.x86_64.rpmzabbix-web-2.4.5-1.el6.noarch.rpm zabbix-web-mysql-2.4.5-1.el6.noarch.rpmfping-2.4b2-16.el6.x86_64.rpm iksemel-1.4-2.el6.x86_64.rpm iksemel-utils-1.4-2.el6.x86_64.rpm php-* -y           #安装zabbix

 

 B)配置mysql数据库

[root@server1 ~]# mysql -predhat

mysql> create database zabbix1 character set utf8 collateutf8_bin;

Query OK, 1 row affected (0.00 sec)                    #创建zabbix数据库

mysql> grant all privileges on zabbix1.* to zabbix@localhostidentified by ‘redhat‘;

Query OK, 0 rows affected (0.00 sec)                   #给zabbix数据库授权

mysql> Ctrl-C -- exit!

[root@server1 ~]# mysql -uzabbix -predhat          #用新创建的用户测试登陆

mysql> show databases;

+--------------------+

| Database           |

+--------------------+

| information_schema |

| zabbix1            |

+--------------------+

2 rows in set (0.00 sec)

mysql> Ctrl-C -- exit!

[root@server1 mysql]# cd/usr/share/doc/zabbix-server-mysql-2.4.5/create/

[root@server1 create]# ls

data.sql  images.sql  schema.sql

#将文件导入数据库

[root@server1 create]# mysql -uzabbix -predhat zabbix1<schema.sql

[root@server1 create]# mysql -uzabbix -predhat zabbix1<images.sql

[root@server1 create]# mysql -uzabbix -predhat zabbix1 <data.sql

[root@server1 zabbix]# cd /etc/httpd/conf.d/

 

 C)配置zabbix server和zabbix agent

[root@server1 conf.d]# vim zabbix.conf              #修改时区

  php_value date.timezoneAsia/Shanghai

[root@server1 create]# cd /etc/zabbix/

[root@server1 zabbix]# vim zabbix_server.conf       #将zabbix数据库的信息添加进去

DBName=zabbix1
DBUser=zabbix
DBPassword=redhat

[root@server1 zabbix]# vim zabbix_agentd.conf      #修改主机名

Hostname=server1.example.com

 

 D)启动zabbix-serverzabbix-agent httpd

[root@server1 conf.d]# /etc/init.d/zabbix-server start 

Starting Zabbix server:                                    [  OK  ]

[root@server1 zabbix]# /etc/init.d/zabbix-agent start  

Starting Zabbix agent:                                     [  OK  ]

[root@server1 conf.d]# /etc/init.d/httpd start         

Starting httpd:                                           [  OK  ]

 

E)访问172.25.25.1/zabbix

 如图:点击next

技术分享

如图: 数据库名字,用户,密码(刚才在数据库里新建的),点击Test Connection检测是否连接数据库(ok表示已连接),点击next

技术分享

Name可以随意填写,点击next

技术分享

之后点击finsh,登陆:用户名 :Admin 密码:zabbix

技术分享

登陆进去,如图:

技术分享

 

2.在server中添加agent主机

服务端2

 A)安装zabbixagent、配置zabbix agent及开启

[root@server2 zabbix]# yum install -yzabbix-2.4.5-1.el6.x86_64.rpm zabbix-agent-2.4.5-1.el6.x86_64.rpm -y

[root@server2 ~]# cd /etc/zabbix/

[root@server2 zabbix]# vim zabbix_agentd.conf

Server=172.25.25.1                             #zabbixserver端ip
ServerActive=172.25.25.1                          
Hostname=server2.example.com                   #本机主机名

[root@server2 zabbix]# /etc/init.d/zabbix-agent start

Starting Zabbix agent:                                     [  OK  ]

 

 B)将zabbix agent主机添加到zabbix zerver

点击Configure->Actions 如图,在Event source中选择Auto registration(自动注册),点击Create action

技术分享

如图,作如下设置:Action中name 自定义 ,Conditions选项卡保持默认

技术分享

Operation选项卡点击Add添加

技术分享

添加结果如下:Add host:自动注册主机添加到 hosts 列表

      Add to host groups:自动注册主机加入linux servers 组(组名可以自定义)

              Link totemplates:自动注册主机应用模板 Template OS linux

技术分享

点击 Configuration -> Hosts 可以看到新加的主机:

技术分享

 

3.在server中添加agent的服务监控项

利用 zabbix 自带的监控模版,以 http 和mysqld服务为例

服务端2

 A)配置开启http和mysql服务

[root@server2 zabbix]# /etc/init.d/httpd start             #开启httpd

Starting httpd:                                           [  OK  ]

[root@server2 zabbix]# /etc/init.d/mysqld start            #开启mysqld

Starting mysqld:                                           [  OK  ]

[root@server2 zabbix]# mysql -predhat

mysql> grant select on *.* to wen@localhost identified by‘redhat‘;

Query OK, 0 rows affected (0.00 sec)                       #创建本地用户,并给其权限

mysql> Ctrl-C -- exit!

 

在/etc/zabbix/zabbix_agentd.d/userparameter_mysql.conf 文件中指定了 zabbix agent 如何获取 mysql服务的各种信息,并在/var/lib/zabbix 目录中新建“.my.cnf”文件,用以指定zabbix agent 如何登陆数据库,可以在 zabbix_server.conf 文件中找到密码。

[root@server2 zabbix]# cd zabbix_agentd.d/

[root@server2 zabbix_agentd.d]# mkdir /var/lib/zabbix       #创建目录

[root@server2 zabbix_agentd.d]# cd /var/lib/zabbix/

[root@server2 zabbix]# vim .my.cnf                          #编写文件,如下

[mysql]
host=localhost
user=wen                                                   #刚创建的用户
password=redhat                                            #用户wen的密码
socket=/var/lib/mysql/mysql.sock
[mysqldadmin]
host=localhost
user=wen
password=redhat
socket=/var/lib/mysql/mysql.sock

[root@server2 zabbix]# /etc/init.d/zabbix-agent restart     #重启服务

Shutting down Zabbix agent:                                [  OK  ]

Starting Zabbix agent:                                     [  OK  ]

 

 B)添加模版 httpd服务和mysql服务

点击Configuration -> Hosts -> server2.example.com-> Templates 选择需要的模版添加,如图:

技术分享点击server2.example.com的Items,就出现了http服务,如图;

技术分享

http服务没有图形,mysql可以查看图形。

点击server2.example.com的Graphs如图:

技术分享

点击进去,如图:

技术分享

如图:

技术分享

 

4.Zabbix的报警

服务端1

 A)Email报警方式

建议禁用不使用的报警方式,点击Administration->Media types,如图:

技术分享

点击Email进行设置,如图:

技术分享

点击 Administration -> Users->Zabbix administrators的User,进入 Admin 管理员Media 选项卡,进行如下配置:

技术分享

 

测试

[root@server2 mnt]# /etc/init.d/httpd stop          #停掉服务端2的http服务

Stopping httpd:                                           [  OK  ]

 

由于QQ 邮箱做的实验,server1.example.com 是没有域名解析的,会被 QQ邮箱挡掉,所以需要设置 QQ 邮箱反垃圾白名单,把zabbix@server1example.com 发件地址加入地址白名单。

 

技术分享

 

 B)110云告警方式

将110云告警添加到zabbix的报警中,官方文档写的很详细,可以参考官方文档进行配置。

[root@server1 mnt]# tar zxfalert-agent-4.1.3.1-linux-x64.tar.gz -C /usr/lib/zabbix/alertscripts/                                         #解压到指定目录

[root@server1 mnt]# cd /usr/lib/zabbix/alertscripts/

[root@server1 alertscripts]# ls

alert-agent

[root@server1 alertscripts]# cpalert-agent/plugin/zabbix-plugin/110monitor .  

[root@server1 alertscripts]# chown -R zabbix.zabbix *               #x修改权限

[root@server1 alertscripts]# ll

total 8

-rwxr-xr-x 1 zabbix zabbix 559 Nov  1 19:39 110monitor

drwxr-xr-x 8 zabbix zabbix 4096 May 15  2015 alert-agent

 

点击 Administration -> Media types,点击Createmedia type, 创建110云告警,如图:

技术分享

点击 Administration -> Users->Zabbix administrators的User, 在 Admin 用户的Media 选项卡中配置

  技术分享

点击 Configuration -> Actions,点击Triggers,编辑默认的 Report problems to Zabbix administrators,如下:

技术分享

Conditions选项卡保持默认即可,点击Operatins选项卡

技术分享

 

测试

[root@server2 mnt]# /etc/init.d/httpd stop          #停掉服务端2的http服务

Stopping httpd:                                           [  OK  ]

如图:

技术分享

 

本文出自 “不忘初心,方得始终” 博客,请务必保留此出处http://12087746.blog.51cto.com/12077746/1869271

监控之zabbix的安装部署+警报的配置