Zabbix简介:

1.基于web的开源软件,开源监控系统状态也可以监控网络设备。

2.和nagios不同的是zabbix会把获取的数据保存在数据库中,所以zabbix需要有数据库支持 

3.Zabbix还可以自动发现主机和网络设备

4.支持邮件和短信告警

5.Zabbix大多配置都可以在web界面配置完成。

6.Zabbix cacti nagios 都是基于php 写出来的网站程序,所以要想运用这些软件,需要基于lamp 或lnmp(yum安装他们不支持nginx的配置文件而lamp 安装会黙认在apache 的配置文件下生成一个子配置文件,可以通个IP 直接来访问他们) 来使用。

官网http://www.zabbix.com/ 


安装Zabbix :

rpm -ivh http://www.lishiming.net/data/p_w_upload/forum/month_1211/epel-release-6-7.noarch.rpm #安装yum 源epel。楼主的是LAMP 环境。 这一步操作省了,下一步操作也省了。


安装rpm包的lamp环境 yum install -y  httpd mysql mysql-libs php php-mysql mysql-server php-bcmath php-gd php-mbstring



服务端Zabbix 安装:

客户端也要安装zabbix20-agent,版本要保持一致。

[root@OBird

[root@OBird ~]# /etc/init.d/zabbix-server start; /etc/init.d/zabbix-agent start
Starting Zabbix server:                                    [  OK  ]
Starting Zabbix agent:                                     [  OK  ]

[root@OBird ~]# netstat -lnp #查看端口有10050 10051,楼主发现10051 zabbix-server没有启来

[root@OBird ~]# less /var/log/zabbix/zabbix_server.log  #查看zabbix 日志,发现是数据库问题

Zabbix部署安装 centos zabbix linux安装_数据库

'/var/lib/mysql/mysql.sock' (2)
  4510:20161229:102804.301 Database is down. Reconnecting in 10 seconds.
  4510:20161229:102814.302 [Z3001] connection to database 'zabbix' failed: [2002] Can't connect to local MySQL server through socket 

[root@OBird ~]# /etc/init.d/httpd start; /etc/init.d/mysqld start  #启动httpd & mysqld
Starting httpd:                                            [  OK  ]
Starting mysqld:                                           [  OK  ]

[root@OBird ~]# mysql -uroot -pzaq12wsx #进入数据库
mysql> create database zabbix;
ERROR 2006 (HY000): MySQL server has gone away
No connection. Trying to reconnect...
Connection id:    43
Current database: *** NONE ***

Query OK, 1 row affected (0.00 sec)

mysql> show databases;
+--------------------+
| Database           |
+--------------------+
| information_schema |
| cacti              |
| discuz             |
| mysql              |
| test               |
| zabbix             |
+--------------------+
6 rows in set (0.05 sec)

mysql> show variables like '%char%';  #查看实例字符集
ERROR 2006 (HY000): MySQL server has gone away
No connection. Trying to reconnect...
Connection id:    55
Current database: zabbix

+--------------------------+----------------------------+
| Variable_name            | Value                      |
+--------------------------+----------------------------+
| character_set_client     | latin1                     |
| character_set_connection | latin1                     |
| character_set_database   | latin1                     |
| character_set_filesystem | binary                     |
| character_set_results    | latin1                     |
| character_set_server     | latin1                     |
| character_set_system     | utf8                       |
| character_sets_dir       | /usr/share/mysql/charsets/ |
+--------------------------+----------------------------+
8 rows in set (0.00 sec)

mysql> SET character_set_client = utf8 ;更改实例的字符集,不知道有没有问题,先这样做了再说
ERROR 2006 (HY000): MySQL server has gone away
No connection. Trying to reconnect...
Connection id:    13
Current database: *** NONE ***

Query OK, 0 rows affected (0.00 sec)

mysql> SET NAMES 'utf8';
ERROR 2006 (HY000): MySQL server has gone away
No connection. Trying to reconnect...
Connection id:    8
Current database: *** NONE ***

Query OK, 0 rows affected (0.00 sec)

mysql> show variables like '%char%';#再次查看
+--------------------------+----------------------------+
| Variable_name            | Value                      |
+--------------------------+----------------------------+
| character_set_client     | utf8                       |
| character_set_connection | utf8                       |
| character_set_database   | latin1                     |
| character_set_filesystem | binary                     |
| character_set_results    | utf8                       |
| character_set_server     | latin1                     |
| character_set_system     | utf8                       |
| character_sets_dir       | /usr/share/mysql/charsets/ |
+--------------------------+----------------------------+
8 rows in set (0.00 sec)

 

导入三个数据库:

[root@OBird ~]# mysql -uroot -pzaq12wsx zabbix < /usr/share/zabbix-mysql/schema.sql
[root@OBird ~]# mysql -uroot -pzaq12wsx zabbix < /usr/share/zabbix-mysql/p_w_picpaths.sql
[root@OBird ~]# mysql -uroot -pzaq12wsx zabbix < /usr/share/zabbix-mysql/data.sql


再次启动zabbix-server 还是没有启动,日志报错和上面的一样。

[root@OBird ~]# mysql -uroot -pzaq12wsx
mysql>grant all on *.* to 'zabbix'@'localhost' identified by 'zabbix'; #创建用户&密码及授权
Query OK, 0 rows affected (0.00 sec)

[root@OBird ~]# vim /etc/zabbix/zabbix_server.conf #编辑写入zabbix 用户密码。
DBPassword=zabbix

[root@OBird ~]# ls /tmp/mysql.sock  # mysql.sock 在tmp 这个文件夹下
/tmp/mysql.sock

[root@OBird ~]# ln -s /tmp/mysql.sock /var/lib/mysql/mysql.sock #做一个软链接

[root@OBird ~]# service mysqld restart  #重启数据库
Stopping mysqld:                                           [  OK  ]
Starting mysqld:                                           [  OK  ]
[root@OBird ~]# /etc/init.d/zabbix-server restart #重启zabbix-server 服务
Shutting down Zabbix server:                               [  OK  ]
Starting Zabbix server:                                    [  OK  ]

查询确认Zabbix 服务已经启动:

Zabbix部署安装 centos zabbix linux安装_Zabbix部署安装 centos_02


网页端 Zabbix 安装:

http://10.72.4.43/zabbix/

Zabbix部署安装 centos zabbix linux安装_mysql_03

Zabbix部署安装 centos zabbix linux安装_数据库_04

以下三项测试不通过:


PHP option post_max_size

8M

16M

Fail





PHP option max_execution_time

30

300

Fail

PHP option max_input_time

60

300

Fail

[root@OBird ~]# vim /etc/php.ini  #编辑php.ini 文件   

post_max_size = 16M #8M->16M
max_execution_time = 300 # 30 -> 300
ax_input_time = 300 # 60 ->300

[root@OBird ~]# service httpd restart


刷 新 :http://10.72.4.43/zabbix/  ,全部通过,直接下一步,下一步直至安装完成。

 

Zabbix部署安装 centos zabbix linux安装_Zabbix部署安装 centos_05

Zabbix部署安装 centos zabbix linux安装_数据库_06

Zabbix部署安装 centos zabbix linux安装_php_07

Zabbix部署安装 centos zabbix linux安装_Zabbix部署安装 centos_08

Zabbix部署安装 centos zabbix linux安装_mysql_09

Zabbix部署安装 centos zabbix linux安装_mysql_10

Zabbix 黙认管理员帐号:  admin ps:zabbix  .至此Zabbix 服务端安装完成。


Zabbix部署安装 centos zabbix linux安装_操作系统_11

----------------------------------------分割线----------------------------------------


安装接入监控的客户端主机:客户端机的环境是 LNMP.

[root@LNMP ~]# yum install zabbix20-agent

[root@LNMP ~]# vim /etc/zabbix_agentd.conf  #编辑配置文件,更改为以下
Server=10.72.4.43          #服务端IP
ServerActive=0.0.0.0:10050 #监听端口
Hostname=Zabbix_liven_linux  #自定义的主机名

[root@LNMP ~]# /etc/init.d/zabbix-agent start #启动zabbix-agent 服务
Starting Zabbix agent:                                     [  OK  ]

[root@OBird ~]# zabbix_get -s 10.72.4.38 -p10050 -k "system.hostname"
LNMP

#在服务端检测客户端主机名,检测无误。说明两机之间通信无误。


Zabbix部署安装 centos zabbix linux安装_php_12

添加监控模版:

Zabbix部署安装 centos zabbix linux安装_php_13

服务端监控数据查看:

Zabbix部署安装 centos zabbix linux安装_php_14

创建自定义模版:

Zabbix自带了很多模板,模板中有很多监控项目,比如CPU、网卡、内存、进程等等。使用系统自带模板有点太多了,所以我们可以自定义模板。点configuration 选择 templates,点右上角的create template

Template name和Visible name  自定义,Groups 选择templates, 点save

然后我们去挑选一些项目拷贝到该模板下:比如我们找到Template OS Linux 点一下items,选择想要的项目,然后在下面选择copy selected to … 然后点go 

Group 选择templates, 找到刚才我们自定义的templates,点copy

点configuration 选择 templates可以看到新建的templates中已经有刚刚我们copy的items了

我们可以使用和上面相同的方法自定义拷贝Triggers(触发器 ),它用来设置告警的阀值,也可以自定义编辑它。

Zabbix部署安装 centos zabbix linux安装_数据库_15

Zabbix部署安装 centos zabbix linux安装_Zabbix部署安装 centos_16

Zabbix部署安装 centos zabbix linux安装_操作系统_17

Zabbix部署安装 centos zabbix linux安装_操作系统_18

Zabbix部署安装 centos zabbix linux安装_php_19

----------------------------------------分割线----------------------------------------


[root@OBird ~]# /etc/init.d/postfix restart  #启动postfix 服务

Shutting down postfix:                                     [  OK  ]

Starting postfix:                                          [  OK  ]


[root@OBird ~]# mail -s "2016-12-30" 111111111@qq.com < /etc/inittab  #发邮件

[root@OBird ~]# mailq   #查看邮件有没有发出去

Mail queue is empty

#楼主是用QQ 邮箱测试的,是可以收到邮件的。如下图

Zabbix部署安装 centos zabbix linux安装_mysql_20

在zabbix-server 端来编写发邮件脚本

[root@OBird ~]# mkdir -p /home/zabbix/bin
[root@OBird ~]# vim /home/zabbix/bin/bj.sh
#!/bin/bash
echo "$3" |/bin/mail -s "$2" $1 # $3 是邮件内容 ,$2 是主题 $1 是收件人

[root@OBird ~]# chmod +x /home/zabbix/bin/bj.sh  #加入可执行的权权

[root@OBird ~]# vim /etc/zabbix/zabbix_server.conf #更改邮件脚本路径,
#AlertScriptsPath=/var/lib/zabbixsrv/alertscripts
AlertScriptsPath=/home/zabbix/bin

#ExternalScripts=/var/lib/zabbixsrv/externalscripts
ExternalScripts=/home/zabbix/bin

创建mediea types: “Administration" -->”Media types",点击右上角“Create Media Type"其中Description填"bj” 或其它自定义名称,Type选择"Script",Script填”bj.sh”然后点”Save”.  

Zabbix部署安装 centos zabbix linux安装_数据库_21

Zabbix部署安装 centos zabbix linux安装_php_22

Zabbix部署安装 centos zabbix linux安装_mysql_23

创建user: “Adimistration” --> “Users”在右上角,选择”Users”,点击”Create User”, alias: test1,自定义name和lastname password:zaq12wsx;group 选择guest,回到上面点一下media,type 选择baojing,send to 写要发送邮件的邮箱,点add, 最后点save

创建action: “configuration” --> actions,右上角“Create Actions”, Name自定义,我这里写”baojing”,其他默认,然后点右侧的“Operations”下的“New”按钮,“Operation Type”选择“Send message”,“Send Message to”选择一个或多个要发送消息的用户组,Send to Users选择我们之前新增的test1, “Send only to”选择bj , 点一下add

最后点save

Zabbix部署安装 centos zabbix linux安装_数据库_24

Zabbix部署安装 centos zabbix linux安装_php_25

Zabbix部署安装 centos zabbix linux安装_数据库_26


Zabbix部署安装 centos zabbix linux安装_数据库_27


创建action: “configuration” --> actions,右上角“Create Actions”, Name自定义,我这里写”baojing”,其他默认,然后点右侧的“Operations”下的“New”按钮,“Operation Type”选择“Send message”,“Send Message to”选择一个或多个要发送消息的用户组,Send to Users选择我们之前新增的test1, “Send only to”选择baojing , 点一下add

最后点save

Zabbix部署安装 centos zabbix linux安装_操作系统_28

Zabbix部署安装 centos zabbix linux安装_操作系统_29

Zabbix部署安装 centos zabbix linux安装_数据库_30

Zabbix部署安装 centos zabbix linux安装_Zabbix部署安装 centos_31


转载于:https://blog.51cto.com/20151213start/1887603