Zabbix监控
1. 监控知识基本概述
-
为什么要使用监控
- 对系统不间断实时监控
- 实施反馈系统当前状态
- 保证服务可靠性安全性
- 保证业务持续稳定运行
实时、反馈、可靠、稳定
-
如何进行监控,比如我们需要监控磁盘使用率
- 如何查看磁盘使用率 df -h
- 监控磁盘的那些标志block、inode
- 如何获取具体信息df -h | awk ‘//${print $(NF-1)}’
- 获取的数值达到多少报警80%
-
流行的监控工具
-
cacti、Nagios、zabbix
cacti:网络流量监控
nagios:主机监控
zabbix: -
lepus(天兔)数据库监控系统
-
Open-Falcon小米
-
Prometheus(普罗米修斯,Docker,K8s)
-
监控宝
-
-
如果去到一家新公司,如何入手监控
- 硬盘监控 路由器、交换机、防火墙
- 系统监控 CPU、内存、硬盘、网络、进程、TCP
- 服务监控 Nginx、php、tomcat、redis、memcache、mysql
- WEB监控 请求时间、响应时间、加载时间
- 日志监控 ELK(收集、存储、分析、展示) 日志易
- 安全监控 Firewalld、WAF(nginx+lua)、安全宝、牛盾云、安全狗
- 网络监控 somkeping 多机房
- 业务监控 多动引入多少流量,产生多少注册量、带来多大价值
-
监控流程
- 数据采集:zabbix通过SNMP、Agent、ICMP、SSH、IPMT等对系统进行数据采集
- 数据存储:Zabbix存储在Mysql上,也可以存储在其他数据库服务
- 数据分析:当我们事后需要复盘分析故障时,zabbix能给我们提供图形以及时间等相关信息,方面我们确定故障所在。
- 数据展示:web界面展示、(移动app、java_php开发一个web页面也可以)
- 监控报警:电话报警、邮件报警、微信报警、短信报警、报警升级机制
2. 单机时代如何监控
CPU监控命令 :w、top、htop、glances(很全面)
内存监控命令:free -m
磁盘监控命令:df、iotop
网络监控命令:ipconfig、route、netstat、iftop、glances、hethogs
3. Zabbix 安装
本次安装基于lamp平台搭建
zabbix官方 www.zabbix.com 也可以去阿里云下载https://developer.aliyun.com
3.1 配置zabbix仓库
[root@zabbix ~]# rpm -ivh https://mirrors.aliyun.com/zabbix/zabbix/3.4/rhel/7/x86_64/zabbix-release-3.4-2.el7.noarch.rpm
3.2 安装Zabbix程序包
以及mysql、Zabbix-agent
[root@zabbix ~]# yum install zabbix-server-mysql zabbix-agent zabbix-web-mysql mariadb-server
zabbix-server-mysql #zabbix服务器包
zabbix-agent #zabbix代理包
zabbix-web-mysql #zabbix前端包
mariadb-server #mysql
3.3. 创建初始数据库
#1.启动服务器
[root@zabbix ~]# systemctl start mariadb
#2.创建数据库并授权
[root@zabbix ~]# mysql
mysql> create database zabbix character set utf8 collate utf8_bin;
Query OK, 1 row affected (0.00 sec)
mysql> grant all privileges on zabbix.* to zabbix@'%' identified by 'Admin@123';
Query OK, 0 rows affected, 1 warning (0.00 sec)
#3.导入初始架构和数据,系统将提示您输入新创建的密码。
本地导入方式
[root@zabbix ~]# zcat /usr/share/doc/zabbix-server-mysql-3.4.15/create.sql.gz | mysql -uzabbix -pAdmin@123zabbix
远程导入方式
[root@zabbix ~]# zcat /usr/share/doc/zabbix-server-mysql-3.4.15/create.sql.gz | mysql -uzabbix -pAdmin@123 -h192.168.101.89 zabbix
3.4 为Zabbix server配置数据库信息
编辑配置文件 /etc/zabbix/zabbix_server.conf
DBHost=192.168.101.80
DBName=zabbix
DBUser=zabbix
DBPassword=password
3.5 修改apapche的配置文件,改时区
[root@zabbix ~]# vim /etc/httpd/conf.d/zabbix.conf
php_value date.timezone Asia/shanghai
3.6 启动Zabbix server和agent进程
[root@zabbix ~]# systemctl restart zabbix-server zabbix-agent httpd php-fpm
[root@zabbix ~]# systemctl enable zabbix-server zabbix-agent httpd php-fpm
启动报错信息
1.出现zabbix-server 启动,但是没有端口
解决方法:查看日志cat /var/log/zabbix/zabbix_server.log
16107:20200301:000207.282 [Z3001] connection to database ‘zabbix’ failed: [2003] Can’t connect to MySQL server on ‘172.16.101.109’ (110)
16107:20200301:000207.283 database is down: reconnecting in 10 seconds //数据库连接失败
检查vim /etc/zabbix/zabbix_server.conf
vim /etc/zabbix/web/zabbix.conf.php 这两个文件是否配置正确,或者是数据库是否有权限访问
3.7 访问zabbix
http://192.168.101.80/zabbix/
4. 配置被监控端
4.1 安装azbbix-Agent
[root@lb01 ~]# rpm -ivh https://mirrors.aliyun.com/zabbix/zabbix/3.4/rhel/7/x86_64/zabbix-agent-3.4.14-1.el7.x86_64.rpm
4.2 配置Zabbix-Agent指向Zabbix-Server
[root@lb01 ~]# vim /etc/zabbix/zabbix_agentd.conf
Server=192.168.101.80
4.3 启动Zabbix-Agent服务
[root@lb01 ~]# systemctl start zabbix-agent