CentoS 7 LNMP 环境部署zabbix监控

Stella981
• 阅读 813

本次实验,我们主要在centos 7 系统上部署zabbix监控,并实现监控交换机,监控Apache服务器,实现邮箱报警等操作

LNMP环境构建

软件包

下载地址

nginx-1.8.0.tar.gz

http://nginx.org/download/

mysql-5.6.26.tar.gz

http://dev.mysql.com/downloads/mysql/

php-5.6.13.tar.bz2

http://php.net/downloads.php

Nginx的安装

构建的 过程中提前关闭防火墙以及selinux

[root@zabbix-server ~]# mkdir /lnmp      //新建一个存放源码包的目录
[root@zabbix-server ~]# cd /lnmp/
[root@zabbix-server lnmp]# ls           //下载对应的软件包
mysql-5.6.26.tar.gz  nginx-1.8.0.tar.gz  php-5.6.13.tar.bz2
[root@zabbix-server lnmp]# yum install gcc gcc-c++ autoconf automake  libtool make zlib zlib-devel openssl openssl-devel pcre* pcre-devel  -y     //解决相关依赖关系
[root@zabbix-server lnmp]# useradd -s /sbin/nologin -M nginx   
[root@zabbix-server lnmp]# tar -xf nginx-1.8.0.tar.gz     //解压Nginx源码包
[root@zabbix-server lnmp]# cd nginx-1.8.0/
[root@zabbix-server nginx-1.8.0]# ./configure --perfix=/usr/local/nginx --with-http_dav_module --with-http_stub_status_module --with-http_addition_module --with-http_sub_module --with-http_flv_module --with-http_mp4_module --with-pcre      //编译
[root@zabbix-server nginx-1.8.0]# make && make install   //安装操作
[root@zabbix-server ~]# vim /usr/local/nginx/conf/nginx.conf    //编辑Nginx的配置文件
4 user nginx nginx;
43         location / {
   
   
44             root   html;
45             index  index.php index.html index.htm;
46         }
65         location ~ \.php$ {
   
   
66             root           html;
67             fastcgi_pass   127.0.0.1:9000;
68             fastcgi_index  index.php;
69             fastcgi_param  SCRIPT_FILENAME  /usr/local/nginx/html$fastcgi_script_name;
70             include        fastcgi_params;
71         }
72 
[root@zabbix-server ~]# /usr/local/nginx/sbin/nginx   //启动Nginx服务器
[root@zabbix-server ~]# ss -tan | grep 80
LISTEN     0      128          *:80                       *:*  

浏览器访问测试
CentoS 7 LNMP 环境部署zabbix监控

mysql的安装

注:安装mysql不能够用GCC等编译工具来进行编译了,需要使用cmake 来进行编译,我们直接执行以下命令即可
[root@zabbix-server ~]# yum install -y cmake ncurses-devel     //安装mysql需要用到这两个软件包

编译安装过程:
[root@zabbix-server lnmp]# tar -xf mysql-5.6.26.tar.gz 
[root@zabbix-server lnmp]# useradd -s /sbin/nologin -M mysql 
[root@zabbix-server lnmp]# cd mysql-5.6.26/
[root@zabbix-server mysql-5.6.26]# cmake  -DCMAKE_INSTALL_PREFIX=/usr/local/mysql  -DMYSQL_UNIX_ADDR=/tmp/mysql.sock  -DDEFAULT_CHARSET=utf8  -DDEFAULT_COLLATION=utf8_general_ci  -DWITH_EXTRA_CHARSETS=all  -DWITH_MYISAM_STORAGE_ENGINE=1  -DWITH_INNOBASE_STORAGE_ENGINE=1  -DWITH_MEMORY_STORAGE_ENGINE=1  -DWITH_READLINE=1  -DENABLED_LOCAL_INFILE=1  -DMYSQL_DATADIR=/usr/local/mysql/data  -DMYSQL-USER=mysql
[root@zabbix-server mysql-5.6.26]# make -j 2 && make install    //执行安装过程
[root@zabbix-server ~]# chown -R mysql:mysql /usr/local/mysql/      //赋权操作
[root@zabbix-server ~]# cd /usr/local/mysql/
[root@zabbix-server mysql]# mkdir date     //创建一个存放数据的目录(因为该目录已经存在了一个data目录,所以命名为date)
[root@zabbix-server mysql]# chown -R mysql:mysql date/
[root@zabbix-server mysql]# cd support-files/     //进入这个目录
[root@zabbix-server support-files]# cp -a my-default.cnf /etc/my.cnf    //复制操作
cp:是否覆盖"/etc/my.cnf"? y
[root@zabbix-server support-files]# cp -a mysql.server /etc/init.d/mysqld 
[root@zabbix-server support-files]# chmod a+x /etc/init.d/mysqld 
[root@zabbix-server support-files]# vim /etc/init.d/mysqld 
 46 basedir=/usr/local/mysql
 47 datadir=/usr/local/mysql/date
[root@zabbix-server support-files]# chkconfig mysqld on   //设置为开机自动启动
[root@zabbix-server support-files]# usr/local/mysql/scripts/mysql_install_db --user=mysql --defaults-file=/etc/my.cnf --basedir=/usr/local/mysql --datadir=/usr/local/mysql/date    //初始化数据库
[root@zabbix-server mysql]# ln -s /usr/local/mysql/bin/* /bin/    //连接mysql的命令到/bin目录下 这样可以全局使用mysql相关命令
[root@zabbix-server mysql]# /etc/init.d/mysqld start    //启动数据库
Starting MySQL. SUCCESS!  
[root@zabbix-server mysql]# ss -tan | grep 3306
LISTEN     0      80        [::]:3306                  [::]:*  
[root@zabbix-server ~]# mysql_secure_installation   //初始化数据库,至自定义密码
[root@zabbix-server ~]# mysql -uroot -p    //登录验证
Enter password: 

PHP的安装

解决相关依赖关系:
[root@zabbix-server ~]# yum -y install gcc gcc-c++ libxml2-devel openssl-devel curl-devel libjpeg-devel libpng-devel libicu-devel freetype-devel openldap-devel openldap openldap-devel php-pear sqlite-devel
安装libmcrypt
ftp://mcrypt.hellug.gr/pub/crypto/mcrypt/libmcrypt 软件包下载地址
[root@zabbix-server /]# tar -xf libmcrypt-2.5.8.tar.bz2 
[root@zabbix-server libmcrypt-2.5.8]# ./configure --prefix=/usr/local/libmcrypt    //编译安装
[root@zabbix-server libmcrypt-2.5.8]# make && make install 
[root@zabbix-server ~]# vim /etc/ld.so.conf     //编辑这个文件,添加两个lib库的位置
/usr/local/libmcrypt/lib
/usr/local/mysql/lib
[root@zabbix-server ~]# ldconfig    //执行这个生效
[root@zabbix-server ~]# echo "ldconfig" >> /etc/rc.local   //写入到开机自动执行

安装PHP
[root@zabbix-server lnmp]# tar -xf php-5.6.13.tar.bz2 
[root@zabbix-server lnmp]# cd php-5.6.13/
[root@zabbix-server php-5.6.13]# ./configure --prefix=/usr/local/php --with-config-file-path=/usr/local/php --with-mysqli=mysqlnd --with-pdo-mysql=mysqlnd --with-iconv-dir --with-freetype-dir --with-jpeg-dir --with-png-dir --with-zlib --with-libxml-dir=/usr --enable-xml --disable-rpath --enable-bcmath --enable-shmop --enable-sysvsem --enable-inline-optimization --with-curl --enable-mbregex  --enable-fpm --enable-mbstring --with-gd --enable-mysqlnd --enable-gd-native-ttf --with-openssl --with-mhash --enable-pcntl --enable-sockets --with-xmlrpc --enable-soap --with-gettext --with-mcrypt=/usr/local/libmcrypt    //编译
[root@zabbix-server php-5.6.13]# make -j 2 && make install      //执行安装
[root@zabbix-server php-5.6.13]# cp -a php.ini-development /usr/local/php/php.ini    //复制PHP.ini 文件
[root@zabbix-server etc]# pwd
/usr/local/php/etc    //进入这个目录 
[root@zabbix-server etc]# ls
pear.conf  php-fpm.conf.default
[root@zabbix-server etc]# cp php-fpm.conf.default php-fpm.conf
[root@zabbix-server php-5.6.13]# cp -a sapi/fpm/init.d.php-fpm /etc/init.d/php-fpm    //复制启动及脚本文件
[root@zabbix-server php-5.6.13]# chmod a+x /etc/init.d/php-fpm 
[root@zabbix-server php-5.6.13]# /etc/init.d/php-fpm start 
Starting php-fpm  done
[root@zabbix-server php-5.6.13]# ss -tan | grep 9000
LISTEN     0      128    127.0.0.1:9000                     *:*   

测试Nginx能否识别PHP文件

[root@zabbix-server ~]# echo "<?php phpinfo; ?>" >> /usr/local/nginx/html/index.php 

CentoS 7 LNMP 环境部署zabbix监控

搭建zabbix 监控

https://cdn.zabbix.com/zabbix/sources   zabbix源码包下载地址

搭建过程如下

[root@zabbix-server ~]# mkdir /zabbix    //创建一个目录
[root@zabbix-server ~]# cd /zabbix/
[root@zabbix-server zabbix]# tar -xf zabbix-4.2.4.tar.gz   //上传zabbix 源码包,并进行解压操作
[root@zabbix-server zabbix-4.2.4]# useradd -s /sbin/nologin -M zabbix     //创建zabbix用户 
[root@zabbix-server zabbix-4.2.4]# yum install -y net-snmp-devel  libevent libevent-devel      //依赖关系解决
[root@zabbix-server zabbix-4.2.4]# ./configure --prefix=/usr/local/zabbix --enable-server --enable-agent --with-mysql=/usr/local/mysql/bin/mysql_config  --with-net-snmp --with-libcurl --with-mysql     //编译安装
[root@zabbix-server zabbix-4.2.4]# make install    //直接make install 即可 

导入数据库

[root@zabbix-server ~]# mysql -uroot -p    //登录数据库
mysql> create database zabbix character set utf8 collate utf8_bin;    //创建zabbix数据库
Query OK, 1 row affected (0.00 sec)

mysql> create user 'zabbix'@'localhost' identified by 'zabbix';    //创建zabbix用户 
Query OK, 0 rows affected (0.09 sec)

mysql> grant all privileges on *.* to 'zabbix'@'localhost' with grant option;   //为zabbix赋权
Query OK, 0 rows affected (0.00 sec)

mysql> flush privileges;    //刷新数据库
Query OK, 0 rows affected (0.00 sec)

导入数据库操作
[root@zabbix-server ~]# cd /zabbix/zabbix-4.2.4/
[root@zabbix-server zabbix-4.2.4]# mysql -uzabbix -p zabbix < database/mysql/schema.sql 
Enter password: 
[root@zabbix-server zabbix-4.2.4]# mysql -uzabbix -p zabbix < database/mysql/images.sql 
Enter password: 
[root@zabbix-server zabbix-4.2.4]# mysql -uzabbix -p zabbix < database/mysql/data.sql 
Enter password: 

编辑zabbix-server 配置 文件

[root@zabbix-server ~]# vim /usr/local/zabbix/etc/zabbix_server.conf
85 DBHost=localhost        //本地系统的名称
94 DBName=zabbix           //数据库的名称
110 DBUser=zabbix          //数据库用户名
118 DBPassword=zabbix      //数据库用户名的密码
[root@zabbix-server ~]# vim /usr/local/zabbix/etc/zabbix_agentd.conf    
113 Server=127.0.0.1        //zabbix_server 服务器的地址
154 ServerActive=127.0.0.1
165 Hostname=Zabbix server
[root@zabbix-server ~]# /usr/local/zabbix/sbin/zabbix_server -c /usr/local/zabbix/etc/zabbix_server.conf
我们可以使用这个命令检测我们的配置是否有误

zabbix 优化操作

[root@zabbix-server zabbix-4.2.4]# cd misc/init.d/fedora/core
[root@zabbix-server core]# ls
zabbix_agentd  zabbix_server
[root@zabbix-server core]# cp -a * /etc/init.d/
[root@zabbix-server core]# chmod a+x /etc/init.d/zabbix_*
[root@zabbix-server core]# vim /etc/init.d/zabbix_server 
[root@zabbix-server core]# vim /etc/init.d/zabbix_agentd 
编辑这个两个文件 都修改为:
 22         BASEDIR=/usr/local/zabbix     //编辑这一行

启动操作
[root@zabbix-server core]# /etc/init.d/zabbix_server start 
Reloading systemd:                                         [  确定  ]
Starting zabbix_server (via systemctl):                    [  确定  ]
[root@zabbix-server core]# /etc/init.d/zabbix_agentd start 
Starting zabbix_agentd (via systemctl):                    [  确定  ]
[root@zabbix-server core]# netstat -lnupt | grep zabbix
tcp        0      0 0.0.0.0:10050           0.0.0.0:*               LISTEN      59561/zabbix_agentd 
通过以上启动我们发现只启动了zabbix_agentd 端口,zabbix_server 端没有启动,现在我们来解决:
[root@zabbix-server ~]# find / -name mysql.sock    //搜索这个文件的路径
/tmp/mysql.sock     
[root@zabbix-server ~]# vim /usr/local/zabbix/etc/zabbix_server.conf   //编辑主配置文件
DBSocket= /tmp/mysql.sock    //添加这个即可  DBS为大写
[root@zabbix-server ~]# netstat -lnupt | grep zabbix
tcp        0      0 0.0.0.0:10050           0.0.0.0:*               LISTEN      59561/zabbix_agentd 
tcp        0      0 0.0.0.0:10051           0.0.0.0:*               LISTEN      78386/zabbix_server 

最后两个服务就启动完成了

复制zabbix的页面到Nginx的发布目录中
[root@zabbix-server php]# cd /zabbix/zabbix-4.2.4/frontends/php/
[root@zabbix-server php]# cp -r * /usr/local/nginx/html/
cp:是否覆盖"/usr/local/nginx/html/index.php"? y

浏览器端配置安装
CentoS 7 LNMP 环境部署zabbix监控
点击next step
CentoS 7 LNMP 环境部署zabbix监控

这里出现了很多fail,这个解决方法在我的上一篇博客中写的有,这里就不做写了

以上问题解决以后点击next step
CentoS 7 LNMP 环境部署zabbix监控
然后在点击next step
CentoS 7 LNMP 环境部署zabbix监控
默认不配置,点击next step
CentoS 7 LNMP 环境部署zabbix监控
出来了以下的错误,这个错误在上一篇博客也有解决方案,这里也不做多的讲解了
CentoS 7 LNMP 环境部署zabbix监控
最后解决完成以后的界面图如下:
CentoS 7 LNMP 环境部署zabbix监控
登录界面(用户名 Admin 密码 zabbix )
CentoS 7 LNMP 环境部署zabbix监控
登录之后的界面是这样子的
CentoS 7 LNMP 环境部署zabbix监控
将当前页面调为中文设置
CentoS 7 LNMP 环境部署zabbix监控
解决图形界面中文乱码的问题
CentoS 7 LNMP 环境部署zabbix监控

操作如下:
Win+R >fonts >拷贝微软雅黑字体改名为 msyh.ttf      >/usr/local/nginx/html/assets/fonts
    vim /usr/local/nginx/html/include/defines.inc.php
        修改 zabbix php 页面配置,改为 msyh
            define('ZBX_GRAPH_FONT_NAME', 'msyh');  

改了之后的效果如下
CentoS 7 LNMP 环境部署zabbix监控

添加被监控端(centos 7 作为httpd服务器)

被监控端需要安装 zabbix-agent
下载地址:http://sourceforge.net/projects/zabbix/files/ZABBIX%20Latest%20Stable/

安装过程:
[root@zabbix-agent zabbix-4.2.4]# yum install -y curl curl-devel net-snmp net-snmp-devel perl-DBI pcre*  gcc gcc-c++   //先解决依赖关系
[root@zabbix-agent ~]# wget https://sourceforge.net/projects/zabbix/files/ZABBIX%20Latest%20Stable/4.2.4/zabbix-4.2.4.tar.gz  //下载对应的软件包
[root@zabbix-agent ~]# tar -xf zabbix-4.2.4.tar.gz  //解压操作
[root@zabbix-agent zabbix-4.2.4]# useradd -s /sbin/nologin -M zabbix 
[root@zabbix-agent zabbix-4.2.4]# ./configure --prefix=/usr/local/zabbix --enable-agent     //然后在来进行编译安装即可
[root@zabbix-agent zabbix-4.2.4]# make install 
[root@zabbix-agent ~]# vim /usr/local/zabbix/etc/zabbix_agentd.conf   //编辑配置文件
 94 Server=192.168.1.100
 135 ServerActive=192.168.1.100
[root@zabbix-agent ~]#cd zabbix-4.2.4/misc/init.d/fedora/core   //进入这个目录
[root@zabbix-agent core]# cp -a zabbix_agentd /etc/init.d/     //复制zabbix.agentd 文件到指定目录下
[root@zabbix-agent core]# chmod a+x /etc/init.d/zabbix_agentd 
[root@zabbix-agent core]# vi /etc/init.d/zabbix_agentd 
    22         BASEDIR=/usr/local/zabbix
[root@zabbix-agent ~]# /etc/init.d/zabbix_agentd start   //启动测试
Reloading systemd:                                         [  确定  ]
Starting zabbix_agentd (via systemctl):                    [  确定  ]
[root@zabbix-agent ~]# ss -tan | grep 10050
LISTEN     0      128          *:10050                    *:*      

配置httpd服务器
[root@zabbix-agent ~]# yum install -y httpd 
[root@zabbix-agent ~]# systemctl start httpd
[root@zabbix-agent ~]# systemctl enable httpd
Created symlink from /etc/systemd/system/multi-user.target.wants/httpd.service to /usr/lib/systemd/system/httpd.service.
[root@zabbix-agent ~]# echo "this is httpd server " >> /var/www/html/index.html 
[root@zabbix-agent ~]# curl localhost
this is httpd server 

zabbix-server 端测试能否获取到zabbix-agnet 端的信息
[root@zabbix-server ~]# /usr/local/zabbix/bin/zabbix_get -s 192.168.1.10 -p10050 -ksystem.uname
Linux zabbix-agent 3.10.0-1127.el7.x86_64 #1 SMP Tue Mar 31 23:36:51 UTC 2020 x86_64
参数详解:
-s  指定客户端的IP地址
-p  指定端口号
-k  返回的类型

浏览器端添加被监控主机
CentoS 7 LNMP 环境部署zabbix监控
点击创建主机
CentoS 7 LNMP 环境部署zabbix监控
然后在点击模板即可
CentoS 7 LNMP 环境部署zabbix监控
最后出现这个代表以及成功监控这一台主机了
CentoS 7 LNMP 环境部署zabbix监控
导入Apache相关功能的模块
下载这个压缩包: https://github.com/lorf/zapache/archive/master.zip
CentoS 7 LNMP 环境部署zabbix监控
然后我们点击导入按钮
CentoS 7 LNMP 环境部署zabbix监控
我们点击这个
CentoS 7 LNMP 环境部署zabbix监控
然后点击模板
CentoS 7 LNMP 环境部署zabbix监控
然后我们就可以通过图形这个选项 来监控httpd服务的各项状态了
CentoS 7 LNMP 环境部署zabbix监控

监控华为交换机

在ensp软件中构建如下的网络结构拓扑图
CentoS 7 LNMP 环境部署zabbix监控
SW1的配置

[SW1]int Vlanif if         //进入vlanif 1 
[SW1-Vlanif1]ip address 192.168.1.150 24    //配置IP地址
[SW1]ping 192.168.1.100      //连通测试zabbix-server 服务器
  PING 192.168.1.100: 56  data bytes, press CTRL_C to break
    Reply from 192.168.1.100: bytes=56 Sequence=1 ttl=64 time=60 ms
    Reply from 192.168.1.100: bytes=56 Sequence=2 ttl=64 time=20 ms
    Reply from 192.168.1.100: bytes=56 Sequence=3 ttl=64 time=30 ms
    Reply from 192.168.1.100: bytes=56 Sequence=4 ttl=64 time=30 ms
    Reply from 192.168.1.100: bytes=56 Sequence=5 ttl=64 time=10 ms
[SW1]snmp-agent        //开启snmp服务
[SW1]snmp-agent community read zabbix@123 
[SW1]snmp-agent sys-info version all 
[SW1]snmp-agent target-host inform address udp-domain 192.168.1.100 udp-port 161
 params securityname zabbix@123 v2c 
[SW1]snmp-agent trap enable 
Warning: All switches of SNMP trap/notification will be open. Continue? [Y/N]:y

zabbix-server 端的配置

[root@zabbix-server ~]# yum install -y net-snmp*    //安装snmp相关的工具
[root@zabbix-server ~]# systemctl start snmpd       //启动snmpd服务
[root@zabbix-server ~]# systemctl enable  snmpd      //设置为开机自动启动
Created symlink from /etc/systemd/system/multi-user.target.wants/snmpd.service to /usr/lib/systemd/system/snmpd.service.

然后在zabbix-server端测试一下能否识别交换机
[root@zabbix-server ~]# snmpwalk -v 2c -c zabbix@123 192.168.1.150 system 
SNMPv2-MIB::sysDescr.0 = STRING: S5700-28C-HI 
Huawei Versatile Routing Platform Software 
 VRP (R) software,Version 3.30 (S5700 V200R001C00) 
 Copyright (C) 2007 Huawei Technologies Co., Ltd.
SNMPv2-MIB::sysObjectID.0 = OID: SNMPv2-SMI::enterprises.2011.2.23.169
DISMAN-EVENT-MIB::sysUpTimeInstance = Timeticks: (271054) 0:45:10.54
SNMPv2-MIB::sysContact.0 = STRING: R&D Beijing, Huawei Technologies co.,Ltd.
SNMPv2-MIB::sysName.0 = STRING: SW1
SNMPv2-MIB::sysLocation.0 = STRING: Beijing China
SNMPv2-MIB::sysServices.0 = INTEGER: 78

返回以上信息就代表可以识别

zabbix-server 浏览器端的配置
CentoS 7 LNMP 环境部署zabbix监控
点击创建主机
CentoS 7 LNMP 环境部署zabbix监控
然后点击模板
CentoS 7 LNMP 环境部署zabbix监控
然后点击宏
CentoS 7 LNMP 环境部署zabbix监控
最后出现这个就代表成功了
CentoS 7 LNMP 环境部署zabbix监控

监控mysql数据库

我们在centos 7 上安装mariadb数据库来进行测试

[root@zabbix-agent ~]# yum install -y mariadb mariadb-server    //安装数据库
[root@zabbix-agent ~]# systemctl start mariadb    //启动数据库
[root@zabbix-agent ~]# mysql_secure_installation    //初始化数据库
[root@zabbix-agent ~]# mysql -uroot -p    //登录数据库
创建一个用于监控专用的用户
MariaDB [(none)]> grant usage on *.* to zabbix@'%' identified by '123';
Query OK, 0 rows affected (0.00 sec)

MariaDB [(none)]> flush privileges;
Query OK, 0 rows affected (0.01 sec)

复制zabbix自带的mysql监控模板
[root@zabbix-agent ~]# cd zabbix-4.2.4/conf/zabbix_agentd
[root@zabbix-agent zabbix_agentd]# ls
userparameter_examples.conf  userparameter_mysql.conf
[root@zabbix-agent zabbix_agentd]# cp -r userparameter_mysql.conf /usr/local/zabbix/etc/zabbix_agentd.conf.d/   //复制到这个目录下
[root@zabbix-agent zabbix_agentd]# vi /usr/local/zabbix/etc/.my.cnf     //编辑一个脚本文件
#Zabbix Agent
[mysql] 
host=zabbix-agent      //被监控的主机名称
user=zabbix        //监控的用户 就是上面我们创建的哪一个
password=123       //密码
socket= /var/lib/mysql/mysql.sock    //这个文件要根据你安装的数据库所在来定
[mysqladmin] 
host=zabbix-agent
user=zabbix
password=123
socket= /var/lib/mysql/mysql.sock
[root@zabbix-agent zabbix_agentd]# vi /usr/local/zabbix/etc/zabbix_agentd.conf    //然后再次修改zabbix的配置文件
去掉注释,修改为正确的路径
    265  Include=/usr/local/zabbix/etc/zabbix_agentd.conf.d/
    
[root@zabbix-agent zabbix_agentd]# vi /usr/local/zabbix/etc/zabbix_agentd.conf.d/userparameter_mysql.conf    //修改mysql的模板文件
将里面的 所有的 /var/lib/zabbix   通通改为/usr/loca/zabbix/etc  文中一共有三处需要改
[root@zabbix-agent zabbix_agentd]# /etc/init.d/zabbix_agentd restart    //重启生效
Restarting zabbix_agentd (via systemctl):                  [  确定  ]
[root@zabbix-agent zabbix_agentd]# ss -tan | grep 10050
LISTEN     0      128          *:10050                    *:*                  

zabbix-server 端测试能否获取到数据
[root@zabbix-server ~]# /usr/local/zabbix/bin/zabbix_get -s 192.168.1.10 -p 10050 -k mysql.ping
1    //返回1代表成功

zabbix-server 浏览器端配置
CentoS 7 LNMP 环境部署zabbix监控
点击我们之前已经创建好的主机
CentoS 7 LNMP 环境部署zabbix监控
添加完成以后这里就会多出一个mysql的监控项
CentoS 7 LNMP 环境部署zabbix监控
验证测试是否有成功监控到mysql数据库
CentoS 7 LNMP 环境部署zabbix监控

联合163邮箱实现报警

自行注册一个163邮箱然后开启如下的服务
CentoS 7 LNMP 环境部署zabbix监控
zabbix-server 端的配置

[root@zabbix-server ~]# yum install -y mailx     //安装这个软件
[root@zabbix-server ~]# vi /etc/mail.rc     //然后编辑这个配置文件
set from=xxx@163.com         //邮箱名称
set smtp=smtp.163.com
set smtp-auth-user=xxx@163.com
set smtp-auth-password=授权码
set smtp-auth=login 
[root@zabbix-server ~]# echo "zabbix test mail" | mailx -s "zabbix server " zabbix_123@163.com
注:
echo  输出的是内容  -s 指定的标题 

验证是否有收到我们发送的邮件
CentoS 7 LNMP 环境部署zabbix监控
然后编写一个脚本文件

[root@zabbix-server ~]# cd /usr/local/zabbix/share/zabbix/alertscripts/
[root@zabbix-server alertscripts]# vim sendmail.sh 
#!/bin/bash
messages=`echo $3 | tr '\r\n' '\n'`
subject=`echo $2 | tr '\r\n' '\n'`
echo "${messages}" | mailx -s "${subject}" $1 >>/tmp/sendmail.log 2>&1
[root@zabbix-server alertscripts]# chown zabbix.zabbix sendmail.sh     //赋权操作
[root@zabbix-server alertscripts]# chmod a+x sendmail.sh 
[root@zabbix-server ~]# vim /usr/local/zabbix/etc/zabbix_server.conf    //修改主配置文件
AlerScriptsPath=/usr/local/zabbix/share/zabbix/alertscripts
添加一行这个代码 
[root@zabbix-server ~]# /usr/local/zabbix/share/zabbix/alertscripts/sendmail.sh zabbix_123@163.com "zabbix mail" "come on bady"
发送一个代码来进行测试 

验证测试
CentoS 7 LNMP 环境部署zabbix监控

配置zabbix web 监控项邮件报警

CentoS 7 LNMP 环境部署zabbix监控
点击创建媒介类型
CentoS 7 LNMP 环境部署zabbix监控

{
   
   ALERT.SENDTO}
{
   
   ALERT.SUBJECT}
{
   
   ALERT.MESSAGE} 

添加完成以后是这样的
CentoS 7 LNMP 环境部署zabbix监控
然后进行下一步操作
CentoS 7 LNMP 环境部署zabbix监控
然后点击Admin 这个用户
CentoS 7 LNMP 环境部署zabbix监控
然后我们在来进行创建发送邮件的动作
CentoS 7 LNMP 环境部署zabbix监控
点击创建动作按钮
CentoS 7 LNMP 环境部署zabbix监控
然后点击操作
CentoS 7 LNMP 环境部署zabbix监控

默认接受人内容标题: 故障{
   
   TRIGGER.STATUS},服务器:{
   
   HOSTNAME1}发生:{
   
   TRIGGER.NAME}故障!
默认信息内容:
告警主机:{
   
   HOSTNAME1}
告警时间:{
   
   EVENT.DATE} {
   
   EVENT.TIME}
告警等级:{
   
   TRIGGER.SEVERITY}
告警信息:{
   
   TRIGGER.NAME}
告警项目:{
   
   TRIGGER.KEY1}
问题详情:{
   
   ITEM.NAME}:{
   
   ITEM.VALUE}
当前状态:{
   
   TRIGGER.STATUS}:{
   
   ITEM.VALUE1}
事件ID:{
   
   EVENT.ID}

然后点击恢复操作
CentoS 7 LNMP 环境部署zabbix监控

默认接收人:已恢复!{
   
   TRIGGER.STATUS}, 服务器:{
   
   HOSTNAME1}: {
   
   TRIGGER.NAME}
恢复信息:
告警主机:{
   
   HOSTNAME1}
告警时间:{
   
   EVENT.DATE} {
   
   EVENT.TIME}
告警等级:{
   
   TRIGGER.SEVERITY}
告警信息: {
   
   TRIGGER.NAME}
告警项目:{
   
   TRIGGER.KEY1}
问题详情:{
   
   ITEM.NAME}:{
   
   ITEM.VALUE}
当前状态:{
   
   TRIGGER.STATUS}:{
   
   ITEM.VALUE1}
事件 ID:{
   
   EVENT.ID}

添加完成以后的样子是这样的
CentoS 7 LNMP 环境部署zabbix监控

测试是否会通过邮箱报警

我们关闭centos 7 系统上的httpd服务器,看看会不会给我发送信息来提示

[root@zabbix-agent ~]# systemctl stop httpd

监控开始报错
CentoS 7 LNMP 环境部署zabbix监控
邮箱测试
CentoS 7 LNMP 环境部署zabbix监控
至此,整个环境以及监控的各项主机邮箱报警的搭建就到此完成了,

点赞
收藏
评论区
推荐文章
blmius blmius
2年前
MySQL:[Err] 1292 - Incorrect datetime value: ‘0000-00-00 00:00:00‘ for column ‘CREATE_TIME‘ at row 1
文章目录问题用navicat导入数据时,报错:原因这是因为当前的MySQL不支持datetime为0的情况。解决修改sql\mode:sql\mode:SQLMode定义了MySQL应支持的SQL语法、数据校验等,这样可以更容易地在不同的环境中使用MySQL。全局s
Jacquelyn38 Jacquelyn38
2年前
2020年前端实用代码段,为你的工作保驾护航
有空的时候,自己总结了几个代码段,在开发中也经常使用,谢谢。1、使用解构获取json数据let jsonData  id: 1,status: "OK",data: 'a', 'b';let  id, status, data: number   jsonData;console.log(id, status, number )
皕杰报表之UUID
​在我们用皕杰报表工具设计填报报表时,如何在新增行里自动增加id呢?能新增整数排序id吗?目前可以在新增行里自动增加id,但只能用uuid函数增加UUID编码,不能新增整数排序id。uuid函数说明:获取一个UUID,可以在填报表中用来创建数据ID语法:uuid()或uuid(sep)参数说明:sep布尔值,生成的uuid中是否包含分隔符'',缺省为
Stella981 Stella981
2年前
KVM调整cpu和内存
一.修改kvm虚拟机的配置1、virsheditcentos7找到“memory”和“vcpu”标签,将<namecentos7</name<uuid2220a6d1a36a4fbb8523e078b3dfe795</uuid
Easter79 Easter79
2年前
Twitter的分布式自增ID算法snowflake (Java版)
概述分布式系统中,有一些需要使用全局唯一ID的场景,这种时候为了防止ID冲突可以使用36位的UUID,但是UUID有一些缺点,首先他相对比较长,另外UUID一般是无序的。有些时候我们希望能使用一种简单一些的ID,并且希望ID能够按照时间有序生成。而twitter的snowflake解决了这种需求,最初Twitter把存储系统从MySQL迁移
Wesley13 Wesley13
2年前
mysql设置时区
mysql设置时区mysql\_query("SETtime\_zone'8:00'")ordie('时区设置失败,请联系管理员!');中国在东8区所以加8方法二:selectcount(user\_id)asdevice,CONVERT\_TZ(FROM\_UNIXTIME(reg\_time),'08:00','0
Wesley13 Wesley13
2年前
00:Java简单了解
浅谈Java之概述Java是SUN(StanfordUniversityNetwork),斯坦福大学网络公司)1995年推出的一门高级编程语言。Java是一种面向Internet的编程语言。随着Java技术在web方面的不断成熟,已经成为Web应用程序的首选开发语言。Java是简单易学,完全面向对象,安全可靠,与平台无关的编程语言。
Stella981 Stella981
2年前
Django中Admin中的一些参数配置
设置在列表中显示的字段,id为django模型默认的主键list_display('id','name','sex','profession','email','qq','phone','status','create_time')设置在列表可编辑字段list_editable
Wesley13 Wesley13
2年前
MySQL部分从库上面因为大量的临时表tmp_table造成慢查询
背景描述Time:20190124T00:08:14.70572408:00User@Host:@Id:Schema:sentrymetaLast_errno:0Killed:0Query_time:0.315758Lock_
Python进阶者 Python进阶者
3个月前
Excel中这日期老是出来00:00:00,怎么用Pandas把这个去除
大家好,我是皮皮。一、前言前几天在Python白银交流群【上海新年人】问了一个Pandas数据筛选的问题。问题如下:这日期老是出来00:00:00,怎么把这个去除。二、实现过程后来【论草莓如何成为冻干莓】给了一个思路和代码如下:pd.toexcel之前把这