一、什麼是監控,爲什麼做監控
監控:日常我們理解的監控是安防監控,監控記錄着日常生活中的事情,事後追責
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、啓動報警發消息的動作