hcwzwx 发表于 2019-1-24 10:42:23

Zabbix4.0监控环境搭建实现7x24监控服务

  Zabbix是一个高度集成的企业级开源网络监控解决方案,与Cacti、nagios类似,提供分布式监控以及集中的web管理界面。zabbix具备常见商业监控软件所具备的功能,例如主机性能监控,网络设备性能监控,数据库性能监控,ftp等通用协议的监控,能够灵活利用可定制警告机制,允许用户对事件发送基于E-mail的警告,保证相关人员可以快速解决。还能够利用存储数据提供杰出的报表及实时的图形化数据处理,实现对监控主机7x24小时集中监控。
  Zabbix通过C/S模式采集数据通过B/S模式在web端展示和配置,通过SNMP协议传输,而被监控对象只需要支持SNMP协议或者运行Zabbix——agents代理程序即可。服务端监听端口为10051,而被监控端即Zabbix——agents代理程序监控10050端口。
  本篇基于centos7.3版本安装zabbix4.0实现对centos7.3主机的监控管理以及警告机制邮箱发送的搭建。

实验环境




主机
操作系统
IP地址
主要软件




zabbix服务端
centos7.3 x86_64
192.168.144.113
zabbix-server4.0


Linux被监控端
centos7.3 x86_64
192.168.144.114
zabbix-agent4.0



Zabbix服务端环境部署

1、部署LAMP环境


[*]由于zabbix提供集中的web监控管理界面,因此服务在web界面的呈现需要LAMP架构支持。

yum install -y \   //安装LAMP环境包
httpd \
mariadb-server mariadb \
php \
php-mysql \   //php连接mysql模块
php-gd \
libjpeg* \
php-ldap \
php-odbc \
php-pear \
php-xml \
php-xmlrpc \
php-mhash

[*]编辑配置httpd

  vim /etc/httpd/conf/httpd.conf


ServerName www.yun.com
...
DirectoryIndex index.html index.php   //添加首页支持格式

[*]编辑配置php,配置中国时区

  vim /etc/php.ini


date.timezone = PRC    //PRC为中国时区

[*]启动httpd,mysql

  systemctl stop firewalld.service
setenforce 0
  systemctl start httpd.service
systemctl start mariadb.service
  netstat -ntap | egrep '(80|3306)'



[*]启动msyql后执行初始安全设置。

  mysql_secure_installation
mysql -u root -p


CREATE DATABASE zabbix character set utf8 collate utf8_bin;   
GRANT allON zabbix.* TO 'zabbix'@'%' IDENTIFIED BY 'admin123';    //创建zabbix数据库,并设定用户密码
flush privileges;

[*]数据库设置完成,检测php与数据库连通情况

  vim /var/www/html/index.php



http://i2.运维网.com/images/blog/201808/27/3a22cdea9f227c0aa287bdb4f69aad2f.png
  出现上图则PHP连通数据库完成。


[*]为保证zabbix用户也可以登录数据库,若出现本地无法登录情况,解决方式如下。
[*]使用root账户登录数据库。

select user,host from mysql.user;   //有空用户名称占用导致本地无法登录远程可登录
+--------+-----------+
| user   | host      |
+--------+-----------+
| zabbix | %         |
| root   | 127.0.0.1 |
| root   | ::1       |
|      | cacti   |
| root   | cacti   |
|      | localhost |
| root   | localhost |
+--------+-----------+
drop user ''@localhost;//删除空用户
drop user ''@cacti;
flush privileges;
2、部署Zabbix Server

  yum install php-bcmath php-mbstring -y安装php支持zabbix组件
  rpm -ivh http://repo.zabbix.com/zabbix/3.5/rhel/7/x86_64/zabbix-release-3.5-1.el7.noarch.rpm //会自动生成yum源文件,保证系统可以上网
yum install zabbix-server-mysql zabbix-web-mysql -y安装zabbix组件
  zcat /usr/share/doc/zabbix-server-mysql-4.0.0/create.sql.gz | mysql -uzabbix -pzabbix //生成数据库文件,注意密码不要输成root的



[*]查看、修改zabbix配置文件

  grep -n '^' /etc/zabbix/zabbix_server.conf


38:LogFile=/var/log/zabbix/zabbix_server.log
49:LogFileSize=0
72:PidFile=/var/run/zabbix/zabbix_server.pid
82:SocketDir=/var/run/zabbix
101:DBName=zabbix      //访问数据库名称
117:DBUser=zabbix      //zabbix访问数据库用户
125:DBPassword=admin123 //配置文件中只需修改本行,zabbix访问数据库密码
347:SNMPTrapperFile=/var/log/snmptrap/snmptrap.log
465:Timeout=4
507:AlertScriptsPath=/usr/lib/zabbix/alertscripts
517:ExternalScripts=/usr/lib/zabbix/externalscripts
553:LogSlowQueries=3000

[*]修改zabbix在httpd中的时区

  vim /etc/httpd/conf.d/zabbix.conf


php_value date.timezone Asia/Shanghai

[*]为防止web界面中文乱码现象,需要将相应字体文件复制,使zabbix识别

  cp STKAITI.TTF /usr/share/zabbix/fonts/



[*]使zabbix系统识别字体

  vim /usr/share/zabbix/include/defines.inc.php


:%s /graphfont/kaiti/g   //采用全局替换模式

[*]zabbix基本配置完成,启动服务,实现web界面安装

  systemctl enable zabbix-server
systemctl start zabbix-server
netstat -anpt | grep zabbix//监听在10051端口上
systemctl restart httpd.service



[*]web界面安装访问。
  http://192.168.144.113/zabbix/
  web界面安装流程如下:
http://i2.运维网.com/images/blog/201808/27/370b7f1532f48312c4c918e369a4510e.png
http://i2.运维网.com/images/blog/201808/27/31d5ca46b6598800a164afb37883414f.png
http://i2.运维网.com/images/blog/201808/27/c5e605cbea27819a8fe3062513c413d5.png
http://i2.运维网.com/images/blog/201808/27/fe27228ba1b4fdffb905a9a3794c2235.png
http://i2.运维网.com/images/blog/201808/27/441b1f8464ae6955240f2da969e8cf1b.png
http://i2.运维网.com/images/blog/201808/27/fa1155765811589721cc236b4c46daa2.png
http://i2.运维网.com/images/blog/201808/27/bc68d83aa33ca446b852dfbe0850a1e7.png
http://i2.运维网.com/images/blog/201808/27/69ed9c63b9a54066179b48e8ec5c0d2b.png

zabbix被监控端代理设置


[*]安装zabbix-agent客户端

  rpm -ivh http://repo.zabbix.com/zabbix/3.5/rhel/7/x86_64/zabbix-release-3.5-1.el7.noarch.rpm
  yum install -y zabbix-agent



[*]编辑修改配置文件

  grep -n '^' /etc/zabbix/zabbix_agentd.conf
vim /etc/zabbix/zabbix_agentd.conf


13:PidFile=/var/run/zabbix/zabbix_agentd.pid
32:LogFile=/var/log/zabbix/zabbix_agentd.log
43:LogFileSize=0
98:Server=192.168.144.113         //zabbix服务器地址
139:ServerActive=192.168.144.113   //活跃服务器地址
150:Hostname=test
268:Include=/etc/zabbix/zabbix_agentd.d/*.conf

[*]关闭防火墙,启动服务

  systemctl stop firewalld.service
setenforce 0
systemctl enable zabbix-agent.service
systemctl restart zabbix-agent.service
  netstat -anpt | grep zabbix//监听在10050端口


WEB管理界面添加被管理主机
http://i2.运维网.com/images/blog/201808/27/5bd9eac49042021c6706f490bdf20872.png
http://i2.运维网.com/images/blog/201808/27/ddbc8955e94ef6dfb22814a3b30d0b52.png
http://i2.运维网.com/images/blog/201808/27/5daa840ac93f35808e76da2f6e1e97ee.png
http://i2.运维网.com/images/blog/201808/27/6186d44bad14adf8385951d122652167.png
http://i2.运维网.com/images/blog/201808/27/d90d2924b73e75ce637eb836b6dbe4ce.png

配置邮箱报警功能

1、配置自动邮箱发送

  yum install mailx -y
vim /etc/mail.rc编辑mailx配置文件


set from=377909726@qq.com
set smtp=smtp.qq.com
set smtp-auth-user=377909726@qq.com
set smtp-auth-password=邮箱密码
set smtp-auth=login
http://i2.运维网.com/images/blog/201808/27/9bbdf57379a915af0270f933715dac03.png


[*]测试邮箱软件是否可用

  echo "hello world" | mail -s "testmail" 377909726@qq.com //测试发信正常


2、编写邮件发送脚本


[*]邮件发送触发脚本一定要写在zabbix指定的alterscripts目录下,后面直接指定脚本名称即可触发。

  vim /usr/lib/zabbix/alertscripts


#!/bin/bash
#send mail
messages=`echo $3 | tr '\r\n' '\n'`
subject=`echo $2 | tr '\r\n' '\n'`
echo "${messages}" | mail -s "${subject}" $1 >>/tmp/mailx.log 2>&1
  touch /tmp/mailx.log
chown -R zabbix.zabbix/tmp/mailx.log
chmod +x /usr/lib/zabbix/alertscripts/mailx.sh
chown -R zabbix.zabbix /usr/lib/zabbix/



[*]测试发邮件脚本是否可以正常工作

  ./mailx.sh 377909726@qq.com "主题" "内容"


3、配置服务监控自动触发邮件发送脚本
http://i2.运维网.com/images/blog/201808/27/6833f3323e744c79b83383dabb3f5908.png
http://i2.运维网.com/images/blog/201808/27/2fd709fe0614e06f1f4cc9f30d0082d2.png
http://i2.运维网.com/images/blog/201808/27/d562142f2c93865842fa4bd30a0fb378.png
http://i2.运维网.com/images/blog/201808/27/3e80f3a317b80f38586b142b2a3abd14.png
http://i2.运维网.com/images/blog/201808/27/30d7eb70a4eaeb766401552416892827.png
http://i2.运维网.com/images/blog/201808/27/a164f5954840e1f5fc1a6ac676ac6077.png

4、在被监控主机模拟故障


[*]关闭被监控主机的httpd服务,验证邮箱接收情况。
http://i2.运维网.com/images/blog/201808/27/bbb56f9e1a721dff6e94c9d65e60198e.png
http://i2.运维网.com/images/blog/201808/27/d747a7675ca302455b55dd72a673c3c6.png



页: [1]
查看完整版本: Zabbix4.0监控环境搭建实现7x24监控服务