搭建zabbix监控及邮件报警

目录

一、zabbix的概述

1、zabbix的介绍

2、zabbix的功能

3、zabbix的主要特点

4、zabbix组件

5、zabbix原理

二、基于LNMP环境搭建zabbix监控

1、zabbix server(监控端)

2、配置代理端

3、配置邮件报警功能

4、Web 页面配置监控机制


一、zabbix的概述

1、zabbix的介绍

zabbix 是一款开源的功能强大的分布式监控系统,一个基于WEB界面的提供分布式系统监视以及网络监视功能的企业级的开源解决方案。
zabbix server可以通过SNMP,zabbix agent,ping,端口监视等方法提供对远程服务器/网络状态的监视。
zabbix是由2部分构成,分别是zabbix server(监控端)与zabbix agent(被监控端)。

2、zabbix的功能

CPU负荷

内存使用

磁盘使用

网络状况

端口监视

日志监视

3、zabbix的主要特点

(1)安装与配置简单,学习成本低

(2)支持多语言(包括中文)

(3)免费开源

(4)自动发现服务器与网络设备

(5)分布式监视以及WEB集中管理功能

(6)可以无agent监视

(7)用户安全认证和柔软的授权方式

(8)通过WEB界面设置或查看监视结果

(9)email等通知功能

4、zabbix组件

(1)zabbix server:负责接收agent发送的报告信息的核心组件,所有配置,统计数据及操作数据均由其组织进行
(2)zabbix database:用户存储所有配置信息,以及存储由zabbix server收集到的数据
(3)zabbix web:zabbix的interface接口,通常与Server运行在同一台主机上
(4)zabbix agent:部署在被监控主机上,负责收集本地数据发往server端或proxy端
(5)zabbix proxy:常用于分布监控环境中,代理Server收集部分被监控的监控数据并统一发往Server端(通常大于500台主机才需要使用)
 

5、zabbix原理

zabbix agent安装在被监控的主机上,负责定期收集被监控端的本地各项数据,并发送至zabbix server端,zabbix server收到数据,将数据存储到数据库( zabbix database)中,用户基于zabbix web的可视化界面可以看到前端数据图像。当zabbix监控某个具体的项目时,该项目会设置一个触发器阈值,当被监控的指标超过该触发器设定的阈值,会进行一些必要的动作,动作包括:发送信息(邮件、微信、短信)、发送命令(SHELL 命令、Reboot、Restart、Install等)。
 

二、基于LNMP环境搭建zabbix监控

1、基于LNMP环境搭建zabbix监控

(1)环境搭建

1、server

ip地址 192.168.222.30

2、client

ip地址 192.168.222.40

(2)安装nginx

vim /etc/yum.repos.d/nginx.repo
[nginx]	
name=nginx repo
baseurl=http://nginx.org/packages/centos/7/$basearch/
gpgcheck=0
enabled=1
yum clean all && yum list

yum install nginx -y
systemctl start nginx
systemctl enable nginx
	
netstat -natp | grep nginx

(3)部署mariadb

yum -y install mariadb*
systemctl start mariadb.service
systemctl enable mariadb.service 
netstat -natp | grep 3306
#mysql安全配置向导
mysql_secure_installation
回车
y
123123
123123
n
n
n
y

 

 

 (4)部署php

yum -y install epel-release.noarch 

rpm -Uvh https://mirror.webtatic.com/yum/el7/webtatic-release.rpm
yum -y install php72w php72w-devel php72w-fpm php72w-gd php72w-mbstring php72w-mysql
php -v

vim /etc/php-fpm.d/www.conf

==8修改用户==
user = nginx

==10修改组==
group = nginx


vim /etc/nginx/conf.d/default.conf
//10 index.php
//30-36 取消注释
fastcgi_param  SCRIPT_FILENAME  $document_root$fastcgi_script_name;


vim /etc/php.ini
//202 short_open_tag = On
//359 expose_php = Off
//368 max_execution_time = 300
//378 max_input_time = 300
//656 post_max_size = 16M
//799 upload_max_filesize = 2M
//800 always_populate_raw_post_data = -1
//877 date.timezone = Asia/Shanghai

systemctl start php-fpm
systemctl enable php-fpm
netstat -natp | grep 9000

 

 

 

 

 (4)测试连接数据库

vim /usr/share/nginx/html/info.php

<?php
phpinfo();
?>

 

 

vim /usr/share/nginx/html/info.php
<?php
$link=mysqli_connect('127.0.0.1','root','123123');
if ($link) echo '连接成功';
else echo '连接失败';
?>



==真机访问==
http://192.168.222.30/info.php

 (5)数据库授权

mysql -u root -p
//创建zabbix库,创库时设置好字符集问题
create database zabbix character set utf8 collate utf8_bin;
//创建数据库用户及配置用户权限
grant all privileges on *.* to 'zabbix'@'%' identified by 'admin123';
//重载权限表
flush privileges;

 

 

 (6)安装zabbix

//安装一个zabbix仓库;
rpm -i https://repo.zabbix.com/zabbix/4.0/rhel/7/x86_64/zabbix-release-4.0-2.el7.noarch.rpm
//安装Zabbix server,Web前端,agent
yum install zabbix-server-mysql zabbix-web-mysql zabbix-agent -y

(7) 导入数据库脚本,初始架构和数据

zcat /usr/share/doc/zabbix-server-mysql*/create.sql.gz | mysql -uzabbix -p zabbix

(8)修改zabbix配置文件

vim /etc/zabbix/zabbix_server.conf
//91行;去掉注释;连接本地的数据库
DBHost=localhost
//124行;修改本行;数据库密码
DBPassword=admin123

#----------------其他相关配置(比较重要的配置,看情况修改)------------------------
//38行;日志文件位置
LogFile=/var/log/zabbix/zabbix_server.log
//49行;日志文件大小;设置为0,不限制日志文件大小
LogFileSize=0
//72行;pid文件位置
PidFile=/var/run/zabbix/zabbix_server.pid
//82行;套接字文件位置;套接字是计算机之间进行通信的一种约定或一种方式
SocketDir=/var/run/zabbix
//100行;数据库名
DBName=zabbix
//116行;数据库用户名
DBUser=zabbix
//356行;采用的网络管理协议SNMP
SNMPTrapperFile=/var/log/snmptrap/snmptrap.log
//473行;超时时间
Timeout=4
//516行;脚本文件
AlertScriptsPath=/usr/lib/zabbix/alertscripts
//527行;扩展脚本文件
ExternalScripts=/usr/lib/zabbix/externalscripts
//563行;慢日志时间,超过3000秒记录
LogSlowQueries=3000

 (9)启动zabbix及相关服务

cp -r /usr/share/zabbix/ /usr/share/nginx/html/
chown -R zabbix:zabbix /etc/zabbix/
chown -R zabbix:zabbix /usr/share/nginx/
chown -R zabbix:zabbix /usr/lib/zabbix/
chmod -R 755 /etc/zabbix/web/
chmod -R 777 /var/lib/php/session/


systemctl start zabbix-server.service
systemctl enable zabbix-server.service

systemctl start zabbix-agent.service
systemctl enable zabbix-agent.service

netstat -anpl | grep 10051
netstat -anpl | grep 10050

systemctl restart php-fpm.service
systemctl restart nginx

验证

 

 

 

 

 

 

 

 

 

 

2、配置代理端

(1)安装zabbix存储库与agent代理服务

systemctl stop firewalld.service
setenforce 0

rpm -i https://repo.zabbix.com/zabbix/4.0/rhel/7/x86_64/zabbix-release-4.0-1.el7.noarch.rpm

yum -y install zabbix-agent

(2) 修改主配置文件

vim /etc/zabbix/zabbix_agentd.conf

//98行;指向监控服务器地址
Server=192.168.222.30
//139行;指向监控服务器地址
ServerActive=192.168.222.30
//150行;修改名称
Hostname=kgc

#------------------其他内容了解--------------
//13行;pid文件位置
PidFile=/var/run/zabbix/zabbix_agentd.pid
//32行;日志文件位置
LogFile=/var/log/zabbix/zabbix_agentd.log
//43行;日志文件大小;设置为0,不限制日志文件大小
LogFileSize=0
//268行;包含zabbix_agentd.d目录下的所有.conf结尾的配置文件
Include=/etc/zabbix/zabbix_agentd.d/*.conf

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

 

 

 

 

 

 

3、配置邮件报警功能

 安装邮件

yum -y install mailx

vim /etc/mail.rc

#末行添加
set from=QQ号@qq.com
set smtp=smtp.qq.com
set smtp-auth-user=QQ号@qq.com
set smtp-auth-password=授权码
set smtp-auth=login

 

#测试能否正常发送
echo 'hello lic' | mail -s 'test' QQ号@qq.com

 

#编写发送邮件的shell脚本,一定要在这个目录下
cd /usr/lib/zabbix/alertscripts/

vim mailx.sh
#!/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/

#测试脚本
. /usr/lib/zabbix/alertscripts/mailx.sh QQ号@qq.com "zabbix" "hello world"

 

4、Web 页面配置监控机制 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值