一、什么是监控,为什么做监控
监控:日常我们理解的监控是安防监控,监控记录着日常生活中的事情,事后追责
zabbix监控:监控的是linux系统,做到事前预警,数据分析
二、常见的linux监控命令
cpu:top、htop、uptime、vmstat
内存:free
硬盘:df、iotop
网卡:iftop、nethogs
进程:ps、pstree
三、zabbix的基础服务架构
四、zabbix生产环境安装
1:配置zabbix的yum源
#下载zabbix-release
[root@zabbix01 ~]# wget http://repo.zabbix.com/zabbix/4.0/rhel/7/x86_64/zabbix-release-4.0-1.el7.noarch.rpm
#安装zabbix-release
[root@zabbix01 ~]# rpm -ivh zabbix-release-4.0-1.el7.noarch.rpm
#将官方仓库地址替换为清华仓库地址
[root@zabbix01 ~]# sed -i 's#http://repo.zabbix.com#https://mirror.tuna.tsinghua.edu.cn/zabbix#g' /etc/yum.repos.d/zabbix.repo
2:安装zabbix服务端和zabbix-web前端
[root@zabbix01 ~]# yum install zabbix-server-mysql zabbix-web-mysql -y
3:安装mariadb,创建zabbix库,授权zabbix用户
[root@zabbix01 ~]# yum install mariadb-server -y
[root@zabbix01 ~]# systemctl start mariadb
[root@zabbix01 ~]# systemctl enable mariadb
[root@zabbix01 ~]# mysql_secure_installation
先回车
再n
然后一路y
[root@zabbix01 ~]# 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表结构和初始数据
[root@zabbix01 ~]# zcat /usr/share/doc/zabbix-server-mysql*/create.sql.gz | mysql -uzabbix -p123456 zabbix
检查zabbix库是否导入成功
[root@zabbix01 ~]# mysql -uroot zabbix -e 'show tables'
4:配置启动zabbix-server
[root@zabbix01 ~]# vi /etc/zabbix/zabbix_server.conf
DBHost=localhost
DBName=zabbix
DBUser=zabbix
DBPassword=123456
启动zabbix-server
[root@zabbix01 ~]# systemctl start zabbix-server
[root@zabbix01 ~]# systemctl enable zabbix-server
检查:
[root@zabbix01 ~]# netstat -lntup|grep 10051
5:修改Zabbix前端的PHP配置,并启动httpd
[root@zabbix01 ~]# vi /etc/httpd/conf.d/zabbix.conf
php_value date.timezone Asia/Shanghai
[root@zabbix01 ~]# systemctl start httpd
[root@zabbix01 ~]# systemctl enable httpd
6:前端zabbix-web的安装
浏览器:http://ip/zabbix
后期修改zabbix数据库密码的时候,需要修改的配置文件:
/etc/zabbix/web/zabbix.conf.php
http://ip/zabbix/zabbix.php
登录的账号密码;
Admin
zabbix
五、使用zabbix监控自己和其他主机
监控自己:
[root@zabbix01 ~]# yum install zabbix-agent.x86_64 -y
[root@zabbix01 ~]# systemctl enable zabbix-agent.service
[root@zabbix01 ~]# systemctl start zabbix-agent.service
[root@zabbix02 ~]# wget https://mirror.tuna.tsinghua.edu.cn/zabbix/zabbix/4.0/rhel/7/x86_64/zabbix-agent-4.0.16-1.el7.x86_64.rpm
[root@zabbix02 ~]# rpm -ivh zabbix-agent-4.0.16-1.el7.x86_64.rpm
[root@zabbix02 ~]# vim /etc/zabbix/zabbix_agentd.conf
Server=zabbix-server端ip
ServerActive=zabbix-server端ip
Hostname=本机ip
HostMetadata=web
[root@zabbix02 ~]# systemctl enable zabbix-agent.service
[root@zabbix02 ~]# systemctl start zabbix-agent.service
六、自定义监控项
监控硬盘的tps值为例:
1、命令行取值(iostat命令默认没有,需要下载)
[root@zabbix02 ~]# iostat|awk '/^sda/{print $2}'
0.28
[root@zabbix02 ~]# yum provides iostat
Loaded plugins: fastestmirror
Determining fastest mirrors
* base: mirrors.163.com
* epel: mirrors.njupt.edu.cn
* extras: mirrors.163.com
* updates: mirrors.163.com
sysstat-10.1.5-18.el7.x86_64 : Collection of performance monitoring tools for Linux
Repo : base
Matched from:
Filename : /usr/bin/iostat
sysstat-10.1.5-18.el7.x86_64 : Collection of performance monitoring tools for Linux
Repo : @base
Matched from:
Filename : /usr/bin/iostat
2、修改zabbix-agent配置文件
# /etc/zabbix/zabbix_agentd.d 该目录存放一些自定义的监控项的配置文件(文件要以conf结尾)
[root@zabbix02 zabbix_agentd.d]# cd /etc/zabbix/zabbix_agentd.d
[root@zabbix02 zabbix_agentd.d]# pwd
/etc/zabbix/zabbix_agentd.d
[root@zabbix02 zabbix_agentd.d]# cat good.conf
UserParameter=tps,iostat|awk '/^sda/{print $2}'
3、重启服务
[root@zabbix02 zabbix_agentd.d]# systemctl restart zabbix-agent.service
4、在web界面上添加监控项
5、出现最新数据,则说明监控成功
七、自定义触发器
触发器的作用,实现报警
函数 | 作用 |
---|---|
diff() | 比较两次取到的值 |
last() | 最新值 |
avg(5m) | 平均5分钟 |
max(5m) | 5分钟最大值 |
min(5m) | 5分钟最小值 |
nodate(5m) | 5分钟没有收到数据报警 |
八、邮箱报警
1、配置发件人
2、配置收件人
3、启动报警发消息的动作