安装包地址
https://jaist.dl.sourceforge.net/project/zabbix/ZABBIX%20Latest%20Stable/4.0.5/zabbix-4.0.5.tar.gz
http://repo.zabbix.com/zabbix/4.0/rhel/7/x86_64/
http://repo.zabbix.com/zabbix/4.0/rhel/7/x86_64/zabbix-agent-4.0.5-1.el7.x86_64.rpm
http://repo.zabbix.com/zabbix/4.0/rhel/7/x86_64/zabbix-server-mysql-4.0.5-1.el7.x86_64.rpm
http://repo.zabbix.com/zabbix/4.0/rhel/7/x86_64/zabbix-web-pgsql-4.0.5-1.el7.noarch.rpm
https://repo.zabbix.com/zabbix/4.0/rhel/7/x86_64/zabbix-web-4.0.5-1.el7.noarch.rpm
参考文档
https://www.zabbix.com/cn/
https://www.zabbix.com/documentation/4.0/zh/manual/
1. zabbix介绍
zabbix是由 Alexei Vladishev 开发的一种网络监视、管理系统,基于 Server-Client 架构,基于WEB界面的提供分布式系统监视以及网络监视功能的企业级的开源解决方案。可用于监视各种网络服务、服务器和网络机器等状态。
使用各种 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 警示功能。
zabbix能监视各种网络参数,保证服务器系统的安全运营;并提供灵活的通知机制以让系统管理员快速定位/解决存在的各种问题。
zabbix由2部分构成,zabbix server与可选组件zabbix agent。
zabbix server可以通过SNMP,zabbix agent,ping,端口监视等方法提供对远程服务器/网络状态的监视,数据收集等功能,它可以运行在Linux,Ubuntu,Solaris,HP-UX,AIX,Free BSD,Open BSD,OS X等平台上。
zabbix agent需要安装在被监视的目标服务器上,它主要完成对硬件信息或与操作系统有关的内存,CPU等信息的收集。
zabbix server可以单独监视远程服务器的服务状态;同时也可以与zabbix agent配合,可以轮询zabbix agent主动接收监视数据(agent方式),同时还可被动接收zabbix agent发送的数据(trapping方式)。
另外zabbix server还支持SNMP (v1,v2),可以与SNMP软件(例如:net-snmp)等配合使用。
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.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
Socket(s): 1
NUMA node(s): 1
Vendor ID: GenuineIntel
CPU family: 6
Model: 85
Model name: Intel(R) Xeon(R) Platinum 8163 CPU @ 2.50GHz
Stepping: 4
CPU MHz: 2494.150
BogoMIPS: 4988.30
Hypervisor vendor: KVM
Virtualization type: full
L1d cache: 32K
L1i cache: 32K
L2 cache: 1024K
L3 cache: 33792K
NUMA node0 CPU(s): 0
1.3.4 内存够不够可以用
free
[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 nethogs
iftop 监控主机间流量 -i 指定监控网卡
nethogs 监控进程流量
1.4 监控工具总览
mrtg 流量监控出图
nagios 监控
cacti 流量监控出图
zabbix 监控+出图
1.5 zabbix
zabbix监控范畴
² 硬件监控 :Zabbix IPMI Interface
² 系统监控 :Zabbix Agent Interface
² Java 监控:ZabbixJMX Interface
² 网络设备监抟:Zabbix SNMP Interface
² 应用服务监控:Zabbix Agent UserParameter
² MySQL 数据库监控:percona-monitoring-pldlgins
² URL监控:Zabbix Web监控
2. zabbix特点
zabbix的主要特点:
- 安装与配置简单,学习成本低
- 支持多语言(包括中文)
- 免费开源
- 自动发现服务器与网络设备
- 分布式监视以及WEB集中管理功能
- 可以无agent监视
- 用户安全认证和柔软的授权方式
- 通过WEB界面设置或查看监视结果
- email等通知功能
Zabbix主要功能:
- CPU负荷
- 内存使用
- 磁盘使用
- 网络状况
- 端口监视
- 日志监视
3. zabbix配置文件
zabbix配置文件有两种:
- 服务器端配置文件(/usr/local/etc/zabbix_server.conf)
- 客户端配置文件(/usr/local/etc/zabbix_agentd.conf)
- zabbix代理配置文件(/usr/local/etc/zabbix_proxy.conf)
服务器端配置文件zabbix_server.conf常用配置参数:
参数 | 作用 |
LogFile | 设置服务端日志文件存放路径 |
ListenIP | 设置服务端监听IP |
ListenPort | 设置服务端监听的端口号 |
PidFile | 设置服务端进程号文件存放路径 |
DBHost | 指定zabbix的数据库服务器IP |
DBName | 指定zabbix使用的数据库库名 |
DBUser | 指定zabbix数据库登录用户 |
DBPassword | 指定zabbix数据库登录密码 |
DBPort | 指定zabbix数据库端口号 |
User | 设置zabbix以什么用户的身份运行 |
AlertScriptsPath | 设置告警脚本存放路径 |
ExternalScripts | 外部脚本存放路径 |
客户端配置文件zabbix_agentd.conf常用配置参数:
参数 | 作用 |
Server | 指定zabbix服务器的IP或域名 |
ServerActive | 指定zabbix服务器的IP或域名 |
Hostname | 指定本机的主机名,此项必须与web界面配置项一致 |
UnsafeUserParameters | 是否启用自定义监控项,可选值为{1 |
UserParameter | 指定自定义监控脚本参数 |
LogFile | 设置客户端日志文件存放路径 |
4. zabbix部署
环境说明:
环境 | IP | 要安装的应用 |
服务端 | 172.25.11.1 | lamp架构 zabbix server zabbix agent |
客户端 | 172.25.11.2 | zabbix agent |
yum源安装
虚拟机上网
vim /etc/sysconfig/network
NERWORKING=yes
NOZEROCONF=yes
GATEWAY=172.25.11.250
systemctl restart network
真机
[root@f~]# systemctl stop libvirtd.service 关闭虚拟机服务【虚拟机服务与防火墙服务有冲突】
[root@f~]# systemctl restart firewalld 重启防火墙
[root@f~]# systemctl start libvirtd.service 打开虚拟机服务
[root@f~]# firewall-cmd --add-masquerade 允许防火墙伪装ip
server1
rpm -ivh http://repo.zabbix.com/zabbix/3.2/rhel/7/x86_64/zabbix-release-3.2-1.el7.noarch.rpm
yum install zabbix-server-mysql zabbix-web-mysql zabbix-agent -y
使用mariadb nginx1.5.17 php-5.3.6
发生问题Requires: mariadb-libs(x86-64) = 1:5.5.60-1.el7_5
rpm -qa|grep mariadb
vi /etc/yum.repos.d/MariaDB.repo
[mariadb]
name = MariaDB
baseurl = http://yum.mariadb.org/10.2.4/centos7-amd64
gpgkey=https://yum.mariadb.org/RPM-GPG-KEY-MariaDB
gpgcheck=1
yum -y install MariaDB-server MariaDB-client
即可
发现缺少两个php包
vim /etc/yum.repos.d/centos.repo
- [base]
- name=CentOS-$releasever - Base - 163.com
- #mirrorlist=http://mirrorlist.centos.org/?release=$releasever&arch=$basearch&repo=os
- #baseurl=http://mirrors.163.com/centos/$releasever/os/$basearch/
- baseurl=http://mirrors.163.com/centos/7/os/x86_64/
- gpgcheck=1
- gpgkey=http://mirrors.163.com/centos/RPM-GPG-KEY-CentOS-7
- #released updates
- [updates]
- name=CentOS-$releasever - Updates - 163.com
- #mirrorlist=http://mirrorlist.centos.org/?release=$releasever&arch=$basearch&repo=updates
- #baseurl=http://mirrors.163.com/centos/$releasever/updates/$basearch/
- baseurl=http://mirrors.163.com/centos/7/updates/x86_64/
- gpgcheck=1
- gpgkey=http://mirrors.163.com/centos/RPM-GPG-KEY-CentOS-7
- #additional packages that may be useful
- [extras]
- name=CentOS-$releasever - Extras - 163.com
- #mirrorlist=http://mirrorlist.centos.org/?release=$releasever&arch=$basearch&repo=extras
- #baseurl=http://mirrors.163.com/centos/$releasever/extras/$basearch/
- baseurl=http://mirrors.163.com/centos/7/extras/x86_64/
- gpgcheck=1
- gpgkey=http://mirrors.163.com/centos/RPM-GPG-KEY-CentOS-7
- #additional packages that extend functionality of existing packages
- [centosplus]
- name=CentOS-$releasever - Plus - 163.com
- #baseurl=http://mirrors.163.com/centos/$releasever/centosplus/$basearch/
- gpgcheck=1
- enabled=0
- gpgkey=http://mirrors.163.com/centos/RPM-GPG-KEY-CentOS-7
即可
mysql -pYakexi_007
create database zabbix character set utf8 collate utf8_bin;
GRANT ALL PRIVILEGES on *.* to 'root'@'%' IDENTIFIED BY 'Yakexi_007' WITH GRANT OPTION;
grant all privileges on zabbix.* to zabbix@localhost identified by 'Yakexi_007';
grant all privileges on zabbix.* to zabbix@server1 identified by 'Yakexi_007';
quit
初始化zabbix数据
zcat /usr/share/doc/zabbix-server-mysql-3.2.11/create.sql.gz |mysql -u zabbix -pYakexi_007 zabbix
不要惶 最多等待两分钟
mysql -pYakexi_007 -e "use zabbix;show databases;"
vim /etc/zabbix/zabbix_server.conf
DBPassword=Yakexi_007
systemctl start zabbix-server
zabbix_server
zabbix_agentd
server {
listen 8000;
server_name www.hanzaipeng.com;
location / {
root html/ca;
index index.html index.htm;
}
location ~ \.php$ {
root html/ca;
fastcgi_pass 127.0.0.1:9000;
fastcgi_index index.php;
fastcgi_param SCRIPT_FILENAME /scripts$fastcgi_script_name;
include fastcgi_params;
}
}
mkdir -p /usr/local/lnmp/nginx/html/ca/
chown -R nginx.nginx /usr/local/lnmp/nginx/html/ca/
vim /etc/php.ini
post_max_size = 16M
max_execution_time = 300
max_input_time = 300
date.timezone =Asia/Shanghai
http://cn2.php.net/get/php-7.3.2.tar.gz/from/this/mirror
http://cn2.php.net/get/php-7.2.15.tar.gz/from/this/mirror
yum -y install php-mysql php-devel
yum install php-mysqlnd -y
tar zxf php-7.2.15.tar.gz
cd /root/php-7.2.15/ext/mysqli
phpize
./configure
make && make install
cp -rp /root/zabbix-4.2.0alpha3/frontends/php/ /usr/local/lnmp/nginx/html/ca/
chmod 777 /usr/local/lnmp/nginx/html/ca/
编译安装比较复杂
scp zabbix-4.2.0alpha3.tar.gz server1:/root/
scp zabbix-4.2.0alpha3.tar.gz server2:/root/
useradd zabbix -s /sbin/nologin -M
./configure --enable-server \
> > --enable-agent \
> > --with-mysql \
> > --with-net-snmp \
> > --with-libcurl \
> > --with-libxml2
make install
标签:http,centos,安装,server,zabbix,使用,php,com From: https://blog.51cto.com/u_15883840/5897126