zabbix监控

一、什么是监控,为什么需要监控

监控: 监视,控制
随着用户的增多,服务随时可能会被系统硬件的不支持的服务会挂掉。
那么你怎么判断的,web服务的正常状态,web服务是因为用户的访问过多,达到瓶颈?
还是程序代码出现了bug导致的,内存不足?

二、常见的Linux的监控命令

free   df  top htop uptime  iftop
iostat  vmstat  netstat  nethogs
总结:这些命令都是监控的系统的cpu ,内存 ,硬盘,网络

三、如何使用脚本来进行监控

例如:
内存:每隔1分钟监控一次内存,当你的可用的内存低于100mb,就发邮件报警,要求显示剩余的内存值

#!/bin/bash
while true
do
Free=`free -m | awk 'NR==2{print $NF}'`
if [ $Free -lt 100 ]
then
echo $Free | mail -s "当前内存" [email protected]
fi
sleep 60
done

#这个是我写的脚本
模拟一下用户返问过多的来进行一个压力测试
ab -n 10000 -c 3 http://10.0.0.100/zabbix/index.php

四、zabbix的基础服务架构

zabbix监控_第1张图片
image.png

五、zabbix的安装及配置

ip地址: 10.0.0.61 硬件配置1G内存1个CPU  主机名:zabbix-server

1、 配置zabbix的yum仓库
wget http://repo.zabbix.com/zabbix/4.0/rhel/7/x86_64/zabbix-release-4.0-1.el7.noarch.rpm

rpm -ivh zabbix-release-4.0-1.el7.noarch.rpm
###配置他的zabbix的yum源,(默认用的是国外的地址)为了更快的安装这了把地址改成了清华源地址

[root@zabbix-server ~]# cat /etc/yum.repos.d/zabbix.repo
[zabbix]
name=Zabbix Official Repository - $basearch
baseurl=https://mirror.tuna.tsinghua.edu.cn/zabbix/zabbix/4.0/rhel/7/x86_64/
enabled=1
gpgcheck=1
gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-ZABBIX
[zabbix-non-supported]
name=Zabbix Official Repository non-supported - $basearch
baseurl=https://mirror.tuna.tsinghua.edu.cn/zabbix/non-supported/rhel/7/$basearch/
enabled=1
gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-ZABBIX
gpgcheck=1


2:安装zabbix服务端和zabbix-web前端
yum install zabbix-server-mysql zabbix-web-mysql -y


3:安装mariadb,创建zabbix库,授权zabbix用户
yum install mariadb-server -y
systemctl start mariadb
systemctl enable mariadb
mysql_secure_installation(这个是数据库的安全认证)


配置完成 以后就进入数据库创建数据库的zabbix转用的库的及数据库的用户
mysql
MariaDB [(none)]> create database zabbix character set utf8 collate utf8_bin;
MariaDB [(none)]> grant all privileges on zabbix.* to zabbix@localhost identified by '123456';


导入zabbix表结构和初始数据
zcat /usr/share/doc/zabbix-server-mysql*/create.sql.gz | mysql -uzabbix -p123456  zabbix
####这个是zabbix安装server端的时候安装下来的


检查zabbix库是否导入成功
mysql -uroot zabbix -e 'show tables'

4:配置启动zabbix-server
vi /etc/zabbix/zabbix_server.conf
DBHost=localhost
DBName=zabbix
DBUser=zabbix
DBPassword=123456

启动zabbix-server
systemctl start zabbix-server
systemctl enable zabbix-server

检查:
netstat -lntup

5:修改Zabbix前端的PHP配置,并启动httpd
vi /etc/httpd/conf.d/zabbix.conf
php_value date.timezone Asia/Shanghai

systemctl start httpd
systemctl enable httpd

6:前端zabbix-web的安装
浏览器:http://10.0.0.61/zabbix


后期修改zabbix数据库密码的时候,需要修改的配置文件:
/etc/zabbix/web/zabbix.conf.php

浏览器访问http://10.0.0.61/zabbix/zabbix.php

登录的账号密码是
Admin
zabbix

六、监控一台主机服务器

A:   在客户端安装的zabbix-agent
rpm -ivh https://mirror.tuna.tsinghua.edu.cn/zabbix/zabbix/4.0/rhel/7/x86_64/zabbixagent-4.0.11-1.el7.x86_64.rpm
B:  配置zabbix-agent
vim /etc/zabbix/zabbix_agentd.conf
Server=10.0.0.61
###这个server写的地址写的是zabbix-server地址
C:启动zabbix-agent
systemctl start zabbix-agent
systemctl enable zabbix-agent

D:在web界面添加主机
zabbix监控_第2张图片
image.png
zabbix监控_第3张图片
image.png
zabbix监控_第4张图片
image.png

七、自定义监控项

A:  在命令行主机取值
例如我们要监控内存的使用情况
[root@zabbix-server ~]# iostat|awk '$1 ~/sda/'
sda 4.07 41.98 68.30 255455 415578
[root@zabbix-server ~]# iostat|awk '$1 ~/sda/{print $2}'
4.07

B: 修改zabbix-agent的配置文件
vim /etc/zabbix/zabbix_agentd.conf
UserParameter=sda_tps,iostat|awk '$1 ~/sda/{print $2}'
systemctl restart zabbix-agent.service


C: 在zabbix的server端测试
zabbix_get -s 127.0.0.1 -k sda_tps  
###这个zabbix的命令是后来安装的默认是没有的

D:在web界面添加自定义监控项
zabbix监控_第5张图片
image.png

zabbix监控_第6张图片
zabbix监控_第7张图片
image.png

八、自定义触发器

zabbix监控_第8张图片
image.png
zabbix监控_第9张图片
image.png

zabbix监控_第10张图片
image.png

九、配置微信报警和邮件报警

9.1 邮件报警

a:自定义发件人

zabbix监控_第11张图片
image.png

b:配置收件人

zabbix监控_第12张图片
image.png

C: 启动动作

zabbix监控_第13张图片
image.png

定制报警的内容 https://www.zabbix.com/documentation/4.0/zh/manual/appendix/macros/supported_by_locat
ion

9.2 微信报警

a:将weixin.py放在zabbix特定目录/usr/lib/zabbix/alertscripts

这个是Python脚本是我之前啊百度找到的,上传上去的

b: 配置发件人

zabbix监控_第14张图片
image.png

{ALERT.SENDTO}, {ALERT.SUBJECT} and {ALERT.MESSAGE}
这个是zabbix官方定义的脚本变量,官方文档上也有它的详细信息

c: 配置收件人

zabbix监控_第15张图片
image.png

这里用的微信报警是用的企业微信,也是我自己提前配置好的,百度上很多这样的配置

十、自定义图像grafana

zabbix监控_第16张图片
image.png

zabbix监控_第17张图片
image.png

zabbix监控_第18张图片
image.png

十一、使用grafana图像

安装grafana
yum localinstall grafana-6.3.0-1.x86_64.rpm -y
systemctl start grafana-server.service
systemctl enable grafana-server.service
浏览器访问10.0.0.61:3000
账号和密码
 admin:admin
zabbix监控_第19张图片
image.png
安装zabbix插件,启动插件
grafana-cli plugins list-remote|grep zabbix
grafana-cli plugins install alexanderzobnin-zabbix-app
systemctl restart grafana-server.service


#这是grafana官方的地址下载下的,也可以用上面的命令下载
zabbix监控_第20张图片
image.png

数据源--zabbix数据源


zabbix监控_第21张图片
image.png

选择zabbix类型


zabbix监控_第22张图片
image.png

zabbix监控_第23张图片
image.png

导入模板


zabbix监控_第24张图片
image.png

zabbix监控_第25张图片
image.png

十二、导入模板

创建自定义的模板

利用模板可以快速添加监控项:模板可以分享

nginx模板

A:开启监控页面

vim nginx.conf
location /nginx_status {
stub_status;
}
systemctl restart nginx
zabbix监控_第26张图片
image.png

B:导入模板


zabbix监控_第27张图片
image.png

C:准备配置文件,并测试脚本

vim zbx_nginx.conf
UserParameter=nginx_status[*],/bin/bash /server/scripts/nginx_monitor.sh $1
systemctl restart zabbix-agent
#测试脚本取值
sh nginx_monitor.sh accepts

D:在zabbix-server上取zabbix-agent值
zabbix_get -s 10.0.0.100 -k nginx_status[accepts]
E:链接模板

你可能感兴趣的:(zabbix监控)