Zabbix监控以及邮件报警功能

一、Zabbix是什么

zabbix是一个基于web界面提供分布式系统键是以及网络监视功能的企业级开源解决方案。
zabbix是由2部分构成,分别是zabbix server与zabbix agent
zabbix server可以通过SNMP,zabbix agent,ping,端口监视等方法提供对远程服务器/网络状态的监视,数据收集等功能,它可以运行在Linux,Solaris,HP-UX,AIX,Free BSD,Open BSD,OS X等平台上

二、Zabbix的特点

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

三、Zabbix的主要功能

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

四、基于LNMP环境搭建Zabbix监控

1、安装Nginx

#下载nginx

[root@localhost ~]# wget http://nginx.org/packages/centos/7/noarch/RPMS/nginx-release-centos-7-0.el7.ngx.noarch.rpm

#创建nginx yum安装源

[root@localhost ~]# vim /etc/yum.repos.d/nginx.repo

[nginx]
name=nginx repo
baseurl=http://nginx.org/packages/centos/7/$basearch/
gpgcheck=0
enabled=1

#安装nginx

[root@localhost ~]# yum install -y nginx

#启动nginx

[root@localhost ~]# systemctl start nginx

[root@localhost ~]# systemctl enable nginx

2、安装mysql

#此处安装的是mysqldb

#下载mariadb

[root@localhost ~]# yum install -y mariadb-server mariadb

#启动mysql

[root@localhost ~]# systemctl start mariadb.service

[root@localhost ~]# systemctl enable mariadb.service

#修改数据库密码

[root@localhost ~]# mysql_secure_installation

3、安装php

#配置环境

[root@localhost ~]# yum install -y epel-release

rpm -Uvh https://dl.fedoraproject.rog/pub/epel/epel-release-latest-7.noar.rpm

#创建yum仓库

[root@localhost ~]# rpm -Uvh https://mirror.webtatic.com/yum/el7/webtatic-release.rpm

#安装php

[root@localhost ~]# yum install -y php72w php72w-devel php72w-fpm php72w-gd-mbstring php72w-mysql

#查看php版本

[root@localhost ~]# php -v

4、配置nginx支持php

[root@localhost ~]# vim /etc/php-fpm.d/www.conf

user = nginx #第8行修改成nginx

group = nginx #第10行修改成nginx

[root@localhost ~]# vim /etc/nginx/conf.d/default.conf

index index.php index.html index.htm; #第10行配置php请求被传送到后端的php-fpm模块,默认情况下php配置是被注释掉的,此处去掉注释并修改

location ~ .php$ {
root /usr/share/nginx/html;
fastcgi_pass 127.0.0.1:9000;
fastcgi_index index.php;
fastcgi_param SCRIPT_FILENAME d o c u m e n t r o o t document_root documentrootfastcgi_script_name;
include fastcgi_params;
}

#30-36行把fastcgi——param中的/scripts改为$document_root。root是配置php程序放置的根目录

[root@localhost ~]# vim /etc/php.ini

expose_php = Off #359行:隐藏php版本
short_open_tag = On #202行:支持php短标签

#为PHP兼容zabbix进行修改,优化配置要求
max_execution_time = 300 #368行:执行时间
max_input_time = 300 #378行:接收数据等待时向
memory_limit = 128M #389行:每个脚本占用内存
post_max_size = 16M #656行:POST数据大小
upload_max_filesize = 2M #799行:下载文件大小
always_populate_raw_post_data = -1 #800行:可以用$HTTP_RAW_POST DATA
date.timezone = Asia/Shanghai #877行:时区

5、重启服务

[root@localhost ~]# systemctl restart php-fpm.service

[root@localhost ~]# systemctl enable php-fpm

#查看9000端口是否开启

[root@localhost ~]# netstat -natp | grep 9000

[root@localhost ~]# systemctl restart nginx

6、网页测试

[root@localhost ~]# vim /usr/share/nginx/html/info.php

<?php phpinfo(); ?>

#登录192.168.27.129/info.php

7、测试连接数据库

[root@localhost ~]# vim /usr/share/nginx/html/info.php

<?php $link=mysqli_connect('127.0.0.1','root' ,'123123' ); if ($link) echo "成功"; else echo "失败"; ?>
8、建立数据库及用户并授权

[root@localhost html]# mysql -uroot -p

MariaDB [mysql]> CREATE DATABASE zabbix CHARACTER set utf8 COLLATE utf8_bin;

MariaDB [mysql]> GRANT ALL PRIVILEGES ON . TO ‘zabbix’@’%’ IDENTIFIED BY ‘admin123’;

MariaDB [mysql]> FLUSH PRIVILEGES;

9、测试zabbix数据库连接

[root@localhost ~]# vim /usr/share/nginx/html/info.php

<?php $link=mysqli_connect('127.0.0.1','zabbix' ,'admin123' ); if ($link) echo "zabbix成功"; else echo "zabbix失败"; ?>

#如果出现连接失败的情况

#进入数据库

mysql -u root -p123123

#查看用户和地址

select user,host from mysql.user;

#删除空用户

MariaDB [(none)]> drop user ‘’@localhost.localdomain;

10、zabbix 部署

#下载zabbix并安装

[root@localhost html]# rpm -i https://repo.zabbix.com/zabbix/4.0/rhel/7/x86_64/zabbix-release-4.0-1.el7.noarch.rpm

[root@localhost html]# yum install -y zabbix-server-mysql zabbix-web-mysql zabbix-agent

#修改zabbix配置

[root@localhost ~]# vim /etc/zabbix/zabbix_server.conf

LogFile=/var/log/zabbix/zabbix_server.log #第38行
LogFileSize=0 #第49行
PidFile=/var/run/zabbix/zabbix_server.pid #第72行
SocketDir=/var/run/zabbix #第82行
DBHost=localhost #第91行
DBName=zabbix #第101行
DBUser=zabbix #第117行
DBPassword=admin123 #注释去掉,zabbix的密码 #第125行
SNMPTrapperFile=/var/log/snmptrap/snmptrap.log #第357行
Timeout=4 #第475行
AlertScriptsPath=/usr/lib/zabbix/alertscripts #第518行
ExternalScripts=/usr/lib/zabbix/externalscripts #第529
LogSlowQueries=3000 #第565行

#授权

[root@localhost ~]# cp -r /usr/share/zabbix/ /usr/share/nginx/html/
[root@localhost ~]# chown -R zabbix:zabbix /etc/zabbix/
[root@localhost ~]# chown -R zabbix:zabbix /usr/share/nginx/
[root@localhost ~]# chown -R zabbix:zabbix /usr/lib/zabbix/
[root@localhost ~]# chmod -R 755 /etc/zabbix/web/
[root@localhost ~]# chmod -R 777 /var/lib/php/session/

#开启服务

[root@localhost ~]# systemctl restart zabbix-server.service
[root@localhost ~]# systemctl enable zabbix-server.service

[root@localhost ~]# systemctl restart zabbix-agent.service
[root@localhost ~]# systemctl enable zabbix-agent.service

[root@localhost ~]# systemctl restart zabbix-agent.service
[root@localhost ~]# systemctl restart php-fpm.service
[root@localhost ~]# systemctl restart nginx

#查看10051端口是否开启

[root@localhost ~]# netstat -natp | grep 10051

#登录zabbix

登录192.168.27.129/zabbix

#默认用户名:Admin,密码:zabbix

11、客户端部署zabbix-agent

#关闭防火墙

[root@localhost ~]# systemctl stop firewalld

[root@localhost ~]# setenforce 0

#下载安装zabbix-agent

[root@localhost ~]# rpm -i https://repo.zabbix.com/zabbix/4.0/rhel/7/x86_64/zabbix-release-4.0-1.el7.noarch.rpm

[root@localhost ~]# yum install -y zabbix-agent

#修改配置文件

[root@localhost ~]# vim /etc/zabbix/zabbix_agentd.conf

PidFile=/var/run/zabbix/zabbix_agentd.pid
LogFile=/var/log/zabbix/zabbix_agentd.log
LogFileSize=0
Server=192.168.200.11 # 指向监控服务器
ServerActive=192.168.200.11 # 指问监控服务器
Hostname=test1 #指定名称
Include=/etc/zabbix/zabbix_agentd.d/*.conf

Zabbix邮件报警功能

一、安装mailx的软件

[root@localhost ~]# yum install -y mailx

#修改配置文件

[root@localhost ~]# vim /etc/mail.rc

set from=1512417076@qq.com #发送的邮箱地址
set smtp=smtp.qq.com #发送的smtp格式
set smtp-auth-user=1512417076@qq.com #smtp的使用者
set smtp-auth-password=授权码 #授权码
set smtp-auth=login

#授权码可以去网易或者QQ邮箱的设置里面去寻找
#测试邮箱功能

[root@localhost ~]# echo “hello world” | mail -s "testmail"1512417076@qq.com

#编写发送邮件的脚本

[root@localhost ~]# cd /usr/lib/zabbix/alertscripts/

#必须在这个目录下创建脚本,否则zabbix无法识别到

[root@localhost alertscripts]# vim mailx.sh

#!/bin/bash
messages=`echo $3 | tr ‘\r\n’ ‘\n’`
subject=`echo KaTeX parse error: Can't use function '\r' in math mode at position 9: 2 | tr '\̲r̲\n' '\n'\` echo…{messages}" | mail -s “${subject}” $1 >>/tmp/mailx.log 2>&1
#创建日志

[root@localhost alertscripts]# touch /tmp/mailx.log

#授权

[root@localhost alertscripts]# chown -R zabbix:zabbix /tmp/mailx.log
[root@localhost alertscripts]# chmod +x mailx.sh
[root@localhost alertscripts]# chown -R zabbix.zabbix /usr/lib/zabbix

#测试脚本

[root@localhost alertscripts]# sh mailx.sh 675043472@qq.com “say hi” “hello world”

二、zabbix页面配置

第一步

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

脚本参数:新增以下三个

{ALERT.SENDTO}

{ALERT.SUBJECT}

{ALERT.MESSAGE}

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
服务器重启zabbix服务

systemctl restart zabbix-*

在这里插入图片描述
代理端重启ssh服务,看是否能收到邮件

systemctl restart sshd

在这里插入图片描述
在这里插入图片描述

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值