CentOS7部署Zabbix5.0.2监控主机和Web(无坑版)-一盏烛光
source link: https://blog.51cto.com/yw666/2512801
Go to the source link to view the article. You can view the picture content, updated content and better typesetting reading experience. If the link is broken, please click the button below to view the snapshot at that time.
CentOS7部署Zabbix5.0.2监控主机和Web(无坑版)
防伪码:他日若遂凌云志 敢笑黄巢不丈夫
CentOS Linux release 7.5.1804 (Core) | |
Nginx | nginx/1.16.1 |
7.2.24 | |
MYSQL | 5.7.2 |
Zabbix | 5.0.2 |
第一章 zabbix监控
1.1 为什么要监控
在需要的时刻,提前提醒我们服务器出问题了
当出问题之后,可以找到问题的根源
网站/服务器 的可用性
1.1.1 网站可用性
在软件系统的高可靠性(也称为可用性,英文描述为HA,High Available)里有个衡量其可靠性的标准——X个9,这个X是代表数字3~5。X个9表示在软件系统1年时间的使用过程中,系统可以正常使用时间与总时间(1年)之比,我们通过下面的计算来感受下X个9在不同级别的可靠性差异。
1个9:(1-90%)*365=36.5天,表示该软件系统在连续运行1年时间里最多可能的业务中断时间是36.5天
2个9:(1-99%)*365=3.65天 , 表示该软件系统在连续运行1年时间里最多可能的业务中断时间是3.65天
3个9:(1-99.9%)*365*24=8.76小时,表示该软件系统在连续运行1年时间里最多可能的业务中断时间是8.76小时。
4个9:(1-99.99%)*365*24=0.876小时=52.6分钟,表示该软件系统在连续运行1年时间里最多可能的业务中断时间是52.6分钟。
5个9:(1-99.999%)*365*24*60=5.26分钟,表示该软件系统在连续运行1年时间里最多可能的业务中断时间是5.26分钟。
6个9:(1-99.9999%)*365*24*60*60=31秒, 示该软件系统在连续运行1年时间里最多可能的业务中断时间是31秒
1.2 监控什么东西
监控一切需要监控的东西,只要能够想到,能够用命令实现的都能用来监控
1.3 怎么来监控
1.3.1 远程管理服务器
如果想远程管理服务器就有远程管理卡,比如Dell idRAC,HP ILO,IBM IMM
1.3.2监控硬件
查看硬件的温度/风扇转速,电脑有鲁大师,服务器就有ipmitool。
使用ipmitool实现对服务器的命令行远程管理
yum -y install OpenIPMI ipmitool ->IPMI在物理机可以成功,虚拟机不行 [root@KVM ~] ipmitool sdr type Temperature Temp | 01h | ns | 3.1 | Disabled Temp | 02h | ns | 3.2 | Disabled Temp | 05h | ns | 10.1 | Disabled Temp | 06h | ns | 10.2 | Disabled Ambient Temp | 0Eh | ok | 7.1 | 22 degrees C Planar Temp | 0Fh | ns | 7.1 | Disabled IOH THERMTRIP | 5Dh | ns | 7.1 | Disabled CPU Temp Interf | 76h | ns | 7.1 | Disabled Temp | 0Ah | ns | 8.1 | Disabled Temp | 0Bh | ns | 8.1 | Disabled Temp | 0Ch | ns | 8.1 | Disabled |
1.3.3 查看cpu相关
lscpu、uptime、top、htop vmstat mpstat 其中htop需要安装,安装依赖与epel源。 [znix@clsn ~]$lscpu Architecture: x86_64 CPU op-mode(s): 32-bit, 64-bit Byte Order: Little Endian CPU(s): 1 On-line CPU(s) list: 0 Thread(s) per core: 1 Core(s) per socket: 1 |
1.3.4 内存够不够可以用
[znix@clsn ~]$free -h total used free shared buffers cached Mem: 996M 867M 128M 712K 145M 450M -/+ buffers/cache: 271M 725M Swap: 1.0G 0B 1.0G |
1.3.5 磁盘剩多少写的快不快可以用
df、dd、iotop [znix@clsn ~]$df -h Filesystem Size Used Avail Use% Mounted on /dev/vda1 40G 24G 15G 62% / tmpfs 499M 20K 499M 1% /dev/shm /dev/vdb1 20G 4.4G 15G 24% /data |
1.3.6 监控网络
iftop 监控主机间流量 -i 指定监控网卡 nethogs 监控进程流量 |
1.4 监控工具总览
mrtg 流量监控出图
nagios 监控
cacti 流量监控出图
zabbix 监控+出图
1.5 zabbix介绍
Zabbix 是由 Alexei Vladishev 开发的一种网络监视、管理系统,基于 Server-Client 架构。可用于监视各种网络服务、服务器和网络机器等状态。
使用各种 Database-end 如 MySQL, PostgreSQL, SQLite, Oracle 或 IBM DB2 储存资料。Server 端基于 C语言、Web 管理端 frontend 则是基于 PHP 所制作的。Zabbix 可以使用多种方式监视。可以只使用 Simple Check 不需要安装 Client 端,亦可基于 SMTP 或 HTTP ... 各种协定做死活监视。
在客户端如 UNIX, Windows 中安装 Zabbix Agent 之后,可监视 CPU Load、网络使用状况、硬盘容量等各种状态。而就算没有安装 Agent 在监视对象中,Zabbix 也可以经由 SNMP、TCP、ICMP、利用 IPMI、SSH、telnet 对目标进行监视。
另外,Zabbix 包含 XMPP 等各种 Item 警示功能。
1.5.1 zabbix的组成
zabbix官网: https://www.zabbix.com
zabbix 主要由2部分构成 zabbix server和 zabbix agent
zabbix proxy是用来管理其他的agent,作为代理
1.5.2 zabbix监控范畴
硬件监控 :Zabbix IPMI Interface
系统监控 :Zabbix Agent Interface
Java 监控:ZabbixJMX Interface
网络设备监抟:Zabbix SNMP Interface
应用服务监控:Zabbix Agent UserParameter
MySQL 数据库监控:percona-monitoring-pldlgins
URL监控:Zabbix Web监控
第二章 安装zabbix
2.1关闭防火墙
systemctl stop firewalld.service 停止firewalld服务 systemctl disable firewalld.service 设置开机默认不启动 |
2.2关闭selinux
getenforce 查看状态 vim /etc/sysconfig/selinux 开机不启动 SELINUX=disabled 生产环境单独在防火墙上开启端口和策略 |
2.3安装zabbix5.0源
2.3.1 安装依赖
2.3.2安装数据库
rpm -Uvh https://repo.zabbix.com/zabbix/5.0/rhel/7/x86_64/zabbix-release-5.0-1.el7.noarch.rpm yum clean all *清理yum缓存 |
2.4安装zabbix5.0服务端和客户端
yum install zabbix-server-mysql zabbix-agent 国外源安装可能比较慢或者出错,多试几次 |
2.5安装CentOS SCLo RH存储库:
yum install centos-release-scl 编辑配置文件 /etc/yum.repos.d/zabbix.repo [zabbix-frontend] Enabled=1 安装Zabbix前端包 yum install zabbix-web-mysql-scl zabbix-nginx-conf-scl |
2.6安装并配置数据库
2.6.1安装mysql5.7
安装MySQL服务 yum install rh-mysql57-mysql rh-mysql57-mysql-server rh-mysql57-mysql-devel 配置MySQL服务 vim /etc/opt/rh/rh-mysql57/my.cnf character_set_server = utf8 vim /etc/profile export PATH=/opt/rh/rh-mysql57/root/bin:$PATH source /etc/profile systemctl start rh-mysql57-mysqld |
2.6.2创建初始数据库
mysql -uroot -p password mysql> create database zabbix character set utf8 collate utf8_bin; mysql> create user zabbix@localhost identified by 'Password@123.'; mysql> grant all privileges on zabbix.* to zabbix@localhost; mysql> quit; |
2.6.3导入初始架构和数据
zcat /usr/share/doc/zabbix-server-mysql*/create.sql.gz | mysql -uzabbix -p zabbix 提示输入的密码为:password |
2.6.4 Zabbix server配置数据库
vim /etc/zabbix/zabbix_server.conf DBPassword=password DBSocket=/var/lib/mysql/mysql.sock |
2.7配置文件
2.8启动Zabbix5.0
systemctl restart zabbix-server zabbix-agent rh-nginx116-nginx rh-php72-php-fpm systemctl enable zabbix-server zabbix-agent rh-nginx116-nginx rh-php72-php-fpm rh-mysql57-mysqld |
2.9 配置Zabbix前端
第三章 基础功能使用
3.1 Linux主机监控
linux主机的话还是比较好处理的,无论是安装agent代理程序还是使用snmp,都是比较方便的
基础配置:关闭selinux,关闭防火墙或者打开161端口。
3.1.1 安装
yum install -y net-snmp |
3.1.1.1修改配置文件
vim /etc/snmp/snmpd.conf sec.name source community com2sec notConfigUser default public #社区名称定义为public view systemview included .1 #添加一个采集项.1,意味着可以采集到所有mib tree的信息 view systemview included .1.3.6.1.2.1.1 view systemview included .1.3.6.1.2.1.25.1.1 |
3.1.3启动服务
systemctl start snmpd.service netstat -lntup|grep 161 udp 0 0 0.0.0.0:161 0.0.0.0:* 6711/snmpd |
3.1.4在zabbix server上测试
snmpwalk -v 2c -c zabbix 222.29.77.167|wc -l 12235 #这里取到了12235项 |
nmap端口扫描 yum install -y nmap nmap -sU 目标IP -p 161 |
3.1.5 添加Linux主机
配置——主机——创建主机——移除interface的客户端——添加SNMP客户端
——填写主机名称、可见名称、群组、IP地址,如图所示:
点击添加,然后等待1分钟,等待图标变成绿色即正常,如图所示:
3.2 Web监控
通过zabbix做web监控,不仅仅可以监控到站点的响应时间,还可以根据站点返回的状态码或响应时间做报警设置,比如说对某个url进行监控,当访问返回的状态码是非200状态时都报警(创建触发器即可)。下面简单介绍下监控设置
3.2.1 创建监控模板
点击配置——模板——创建模板
3.2.2 创建web监控场景
监控网页名称便于自己区分
监控的URL地址
监控超时时间,根据自己相应业务动态调整频率
要求返回的状态码,这里返回200为正常,非200报警
3.2.3 查看效果
3.2.4 创建触发器
如果想要实现报警功能还需要我们进行触发器的设置
点击刚才创建的模块Templates Web status,选择触发器,创建触发器
3.3 Windows主机监控
3.3.1 安装/打开snmp服务
3.3.2 关闭防火墙
这里只是测试,实际生产环境环境,需要开放snmp端口161,或者对主机的固定IP进行放行。
3.3.3 配置snmp服务并将其重启
如图所示,192.168.249.142是我zabbix-server的IP,需要配置接受,上面是本地snmp的团体名,必须配置的与zabbix-server上的一样,否则不能正常的收发数据。
3.3.4配置检测
在server端使用命令检测client的配置是否有问题:
无法收集到数据: [root@localhost ~]# snmpwalk -v 2c -c zabbix 192.168.249.128 hrMemory Timeout: No Response from 192.168.249.128 正常情况: [root@localhost ~]# snmpwalk -v 2c -c zabbix 192.168.249.128 hrMemory HOST-RESOURCES-MIB::hrMemorySize.0 = INTEGER: 2096632 KBytes snmpwalk命令依赖于:net-snmp-utils软件包,如果提示找不到命令,安装就好了:yum install net-snmp-utils -y,如果检测不通过,则说明client配置有问题。 |
3.3.5 创建主机
SNMP绿色亮起,说明sever与client的交互没有问题,ok,如果一直为灰色,一般是团体名,既宏的配置有问题,检查更改直到这个按钮亮起。(在网络没有问题的前提下)
Recommend
About Joyk
Aggregate valuable and interesting links.
Joyk means Joy of geeK