一、zabbix简介

zabbix(音同 zbix)是一个基于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等平台上。

1.zabbix的主要特点

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

2.zabbix的主要功能

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

一、准备工作


      服务端

     客户端

主机名

      server

     client

IP地址

    192.168.200.10/24

   192.168.200.20/24

1.配置IP地址和主机名

① server端配置

# hostnamectl set-hostname server

# nmcli connection modify eno16777736 ipv4.method manual ipv4.addresses "192.168.200.10/24" ipv4.gateway "192.168.200.2" ipv4.dns "202.106.0.20" connection.autoconnect yes

# nmcli connection up eno16777736

② client 端配置

# hostnamectl set-hostname client

# nmcli connection modify eno16777736 ipv4.method manual ipv4.addresses "192.168.200.20/24" ipv4.gateway "192.168.200.2" ipv4.dns "202.106.0.20" connection.autoconnect yes

# nmcli connection up eno16777736

2.关闭防火墙和selinux安全机制

# systemctl stop firewalld

# setenforce 0

# vim /etc/selinux/config

# sed -i  's/^SELINUX.*$/SELINUX=disabled/g'  /etc/selinux/config

3.安装yum仓库

三、server主机的安装

1.安装网站平台

① 安装数据库

# yum -y install mariadb mariadb-server mariadb-devel

# systemctl start mariadb

# systemctl enable mariadb

# mysqladmin  password  123       //设置数据库密码是123

② 安装httpd

# yum -y install httpd       

# systemctl start httpd

# systemctl enable httpd

# vim /etc/httpd/conf/httpd.conf     //修改配置文件的参数

95 ServerName server:80

③ 安装php

(1)安装php依赖的软件包

# yum -y install php php-mysql php-gd php-ldap php-odbc php-pear php-xml php-xmlrpc php-mbstring php-snmp php-soap curl curl-devel php-bcmath

# vim /etc/php.ini           //修改配置文件的参数

 878 date.timezone = Asia/Shanghai

 384 max_execution_time = 300

 672 post_max_size = 32M

 394 max_input_time = 300

 405 memory_limit = 128M

(2)测试服务器情况

# vim  /var/www/html/index.php

 # 前面这段是测试php与mysql连通性的PHP代码 
 

 $link=mysql_connect('192.168.200.10','root','123');  # ip填写mysql主机ip,用户为mysql所授权的用户,密码

 if($link) echo "DATABASE Connect Successfully!";

 else echo "DATABASE  Connect Faild!";

 mysql_close();

 ?>
# 测试php是否正常工作的php代码 
 

   phpinfo() #此函数调用会显示php的详细信息 

 ?>

# systemctl restart mariadb

# systemctl restart httpd

2.安装zabbix

① 下载源码包

链接地址:

https://jaist.dl.sourceforge.net/project/zabbix/ZABBIX%20Latest%20Stable/3.4.3/zabbix-3.4.3.tar.gz

② 安装依赖库

# yum -y install net-snmp-devel libxml2-devel libcurl-devel libevent libevent-devel  gcc   OpenIPMI-devel  openldap  openldap-devel  unixODBC-devel 

# yum install java*     #--enable-java,可以省略

③ 解压并编译安装

# tar zxf zabbix-3.4.3.tar.gz -C /usr/local

# cd /usr/local/zabbix-3.4.3/

# ./configure --prefix=/usr/local/zabbix --sysconfdir=/etc/zabbix/ --enable-server --enable-proxy --enable-proxy  --enable-agent --enable-ipv6 --with-mysql --with-net-snmp --with-libcurl --witpenipmi --with-unixodbc --with-ldap --enable-java && make && make install

④ 创建用户和组

# groupadd zabbix

# useradd -r -g zabbix zabbix

# chown zabbix.zabbix /usr/local/zabbix/

⑤ 创建数据库zabbix并导入表结构

MariaDB [(none)]> create database zabbix character set utf8;

MariaDB [(none)]> grant all on zabbix.* to zabbix@localhost identified by 'zabbix';

MariaDB [(none)]> flush privileges;

[root@server zabbix-3.4.3] # cd /root/zabbix-3.4.3/

# mysql -uzabbix -pzabbix zabbix < database/mysql/schema.sql

# mysql -uzabbix -pzabbix zabbix < database/mysql/p_w_picpaths.sql

# mysql -uzabbix -pzabbix zabbix < database/mysql/data.sql

⑥ 创建日志目录

# mkdir /usr/local/zabbix/logs

# chown zabbix:zabbix logs

⑦ 修改配置文件

# cd /etc/zabbix/

# cp zabbix_server.conf zabbix_server.conf.bak

# vim zabbix_server.conf

 38 LogFile=/usr/local/zabbix/logs/zabbix_server.log

 95 DBName=zabbix                 //数据库的名字

 111 DBUser=zabbix

 119 DBPassword=zabbix

 126 DBSocket=/var/lib/mysql/mysql.sock

 134 DBPort=3306

 85 DBHost=localhost

# cp zabbix_agentd.conf zabbix_agentd.conf.bak

# vim zabbix_agentd.conf

 134 ServerActive=192.168.200.10:10051

 30 LogFile=/usr/local/zabbix/logs/zabbix_agentd.log

 93 Server=127.0.0.1,192.168.200.10

 280 UnsafeUserParameters=1      //自定义脚本功能开启

 261 Include=/etc/zabbix/zabbix_agentd.conf.d/  //定义agentd配置文件的存放路径

⑧ 将zabbix的页面文件copy到指定目录

# cd /usr/local/zabbix-3.4.3/

# cp misc/init.d/fedora/core/zabbix_* /etc/init.d

# ll -d /etc/init.d/zabbix_*

-rwxr-xr-x. 1 root root 2170 11月  1 09:44 /etc/init.d/zabbix_agentd

-rwxr-xr-x. 1 root root 2181 11月  1 09:44 /etc/init.d/zabbix_server

⑨ 创建php页面

# cd /usr/local/zabbix-3.4.3/

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

# chown -R apache.apache /var/www/html/zabbix

3.访问测试zabbix

① 访问地址 http://192.168.200.10/zabbix

zabbix3.4安装及使用_第1张图片

②确保下面的选项都是OK后,点击下一步

zabbix3.4安装及使用_第2张图片

③ 将端口改为3306,数据库、用户名、密码都设为zabbix

zabbix3.4安装及使用_第3张图片

④ 请输入主机名或主机的IP地址和Zabbix服务器端口号,以及安装的名称(可选)。

 


zabbix3.4安装及使用_第4张图片

zabbix3.4安装及使用_第5张图片

 

⑤登陆zabbix

默认用户名:zabbix

密码:zabbix

zabbix3.4安装及使用_第6张图片

⑥ 锁定安装界面

# cd /var/www/html/zabbix

# mv setup.php setup.php.lock

# chmod 600 setup.php.lock

⑦ 修改链接地址

ln -s /usr/local/zabbix/sbin/zabbix_* /usr/local/sbin/

# chkconfig zabbix_server on

# chkconfig zabbix_agentd on

⑧ 启动服务

# /etc/init.d/zabbix_server restart

# /etc/init.d/zabbix_agentd restart

# netstat -anpt | grep zabbix

tcp        0      0 0.0.0.0:10050           0.0.0.0:*               LISTEN      67233/zabbix_agentd

tcp        0      0 0.0.0.0:10051           0.0.0.0:*               LISTEN      67090/zabbix_server

tcp6       0      0 :::10050                :::*                    LISTEN      67233/zabbix_agentd

tcp6       0      0 :::10051                :::*                    LISTEN      67090/zabbix_server

⑨ 更改语言

点击小人admin

zabbix3.4安装及使用_第7张图片

将Language改为中文Chinese,点击Update即可

zabbix3.4安装及使用_第8张图片

四、client主机的安装

1.安装软件包

① 下载源码包

链接地址:

https://jaist.dl.sourceforge.net/project/zabbix/ZABBIX%20Latest%20Stable/3.4.3/zabbix-3.4.3.tar.gz

② 安装依赖库

# yum -y install net-snmp-devel libxml2-devel libcurl-devel libevent libevent-devel  gcc   OpenIPMI-devel  openldap  openldap-devel  unixODBC-devel 

# yum install java*     #--enable-java,可以省略

③ 创建日志目录

# useradd -s /sbin/nologin zabbix

# mkdir /etc/zabbix/ /usr/local/zabbix/logs

# chown zabbix.zabbix /usr/local/zabbix/logs

⑤ 解压编译安装包

# tar zxf zabbix-3.4.3.tar.gz -C /usr/src

# cd /usr/src/zabbix-3.4.3/

# ./configure --prefix=/usr/local/zabbix --sysconfdir=/etc/zabbix --enable-agent && make && make install

# cp misc/init.d/fedora/core/zabbix_agentd /etc/init.d

⑥ 修改配置文件

# cd /etc/zabbix

# cp zabbix_agentd.conf zabbix_agentd.conf.bak

# vim zabbix_agentd.conf

134 ServerActive=192.168.200.10:10051

93 Server=127.0.0.1,192.168.200.10

30LogFile=/usr/local/zabbix/logs/zabbix_agentd.log

280 UnsafeUserParameters=1

2.启动服务

# ln -s /usr/local/zabbix/sbin/zabbix_agentd /usr/local/sbin

# /etc/init.d/zabbix_agentd start

# chkconfig zabbix_agentd on

五、创建监控节点

1.创建主机群组

点击配置-->主机群组-->创建主机群组-->添加组名

 

zabbix3.4安装及使用_第9张图片


zabbix3.4安装及使用_第10张图片

2.创建主机

点击配置-->主机-->创建主机

  

zabbix3.4安装及使用_第11张图片


3.添加模板

zabbix3.4安装及使用_第12张图片

4.启用服务器

b3f70c3cbeb621521fa73c2982b0e6c0.png

5.报警问题

zabbix3.4安装及使用_第13张图片

配置--模板--Template OS Linux--触发器--更改报警值或者停用--选择更改

Lack of free memory on server {HOSTNAME}
Processor load is too high on {HOSTNAME}

Too many processes on {HOSTNAME}

5df28db0025ae2060fb06e4fb75cc5f2.png

六、邮箱报警

1. 创建邮件脚本

# yum -y install mailx

# vim /etc/mail.rc

set [email protected] smtp=smtp.163.com

set [email protected] smtp-auth-password=mima

set smtp-auth=login

#!/bin/bash

echo "$3" | mail -s "$2" $1

# vim /usr/local/zabbix/share/zabbix/alertscripts/zabbix.sh

# chmod a+x /usr/local/zabbix/share/zabbix/alertscripts/zabbix.sh

# chown zabbix:zabbix /usr/local/zabbix/share/zabbix/alertscripts/za

bbix.sh

# /usr/local/zabbix/share/zabbix/alertscripts/zabbix.sh

 [email protected] "zabbix" "zabbix test mail 2"

2. 创建报警媒体

管理--报警媒介类型--创建媒体类型

3. 创建报警用户

管理--用户--报警媒介

分别对应zabbix.sh脚本需要的3个参数:收件人地址、主题、详细内容然后添加完成:

zabbix3.4安装及使用_第14张图片

 

zabbix3.4安装及使用_第15张图片

zabbix3.4安装及使用_第16张图片

4.创建报警动作

配置--动作--创建动作

动作:

 

操作:

zabbix3.4安装及使用_第17张图片

恢复操作:

确认操作:

 

zabbix3.4安装及使用_第18张图片

5.测试邮件报警

① 将客户端关闭,查看报警

# /etc/init.d/zabbix_agentd stop

 Stopping zabbix_agentd (via systemctl):                 [  确定  ]

② 调整时间

# vim /etc/zabbix/zabbix_server.conf

 Timeout=30

# vim /etc/zabbix/zabbix_agentd.conf

 Timeout=30

# /etc/init.d/zabbix_server restart

# /etc/init.d/zabbix_agentd restart

③ 确认报警

zabbix3.4安装及使用_第19张图片