Zabbix5.0监控平台搭建与被监控端的添加
一、Zabbix简述
1、Zabbix概要
zabbix是两个如前所述WEB介面的提供更多 网络通讯监视和互联网监视机能 的虚拟化的开放源码软件控制系统。zabbix能监视各式各样互联网模块,确保伺服器控制系统的安全可靠营运;并提供更多灵巧的通告监督机制以让用户端加速机能定位/化解存有的各式各样难题。
zabbix由zabbix server与较旧模块zabbix agent两部份共同组成:
- zabbix server能透过SNMP,zabbix agent,ping,路由器监视等方式提供更多对远距伺服器/互联网状况的监视。
- zabbix agent须要加装在被监视的最终目标伺服器上,它主要就顺利完成对硬体重要信息或与作业控制系统相关的缓存,CPU等重要信息的搜集。
2、Zabbix监视工作原理
Agentd加装在被监视的主机上,Agent负责定期搜集客户端本地各项数据,并发送至Zabbix Server端,Zabbix Server收到数据,将数据存储到数据库中,用户如前所述Zabbix WEB能看到数据在前端展现图像。
当Zabbix监视某个具体的项目,该项目会设置两个触发器阈值,当被监视的指标超过该触发器设定的阈值,会进行一些必要的动作,动作包括:发送重要信息(邮件、微信、短信)、发送命令(SHELL 命令、Reboot、Restart、Install等)。
agent搜集数据分为主动和被动两种模式:
- 主动:agent请求server获取主动的监视项列表,并主动将监视项内须要检测的数据提交给server/proxy。
- 被动:server向agent请求获取监视项的数据,agent返回数据。
3、Zabbix的常用模块
Zabbix Web Gui:提供更多Web介面。
Zabbix Databases:提供更多数据库存储机能并用于存储配置重要信息。和采集到的数据。
Zabbix Server :接收来自Agent采集数据的核心模块。
Zabbix Agent :部署在被监视的主机上,用于采集本地的数据。
Zabbix Proxy:当监视节点较多时,用于减轻Server压力模块,也可用于分布式。监视控制系统,由Proxy接收数据后统一发送给Server。
4、Zabbix支持的数据采集协议
SNMP(Simple Network Managerment Protocol):这是两个非常古老的且通用的监视协议,几乎任何设备都支持用此方式进行控制系统的监视。
Agent:在监视端加装专门的监视程序,将数据采集后透过Agent发送至Server。
IPMI:智能网络平台管理接口,即主要就应用于设备的物理特性,包括:温度、电压、电扇工作状况,电源供应和机箱入侵等。IPMI最大的优势在于无论OS的开机还是关机状况下,只要接通电源就能实现对伺服器的监视。
JMX:Java Managerment Exlensions。
5、常见进程
zabbix_agentd:客户端守护进程,负责搜集客户端数据,例如cpu负载、缓存、硬盘使用情况等。
zabbix_get:zabbix数据接收工具,单独使用的命令,通常在Server或者Proxy端执行获取远端客户重要信息的命令。通常客户排错。例如在Server端获取不到客户端缓存数据,我们能使用zabbix_get获取客户端内容的方式来做故障排查。
zabbix_sender:zabbix数据发送工具,用于发送数据给Server或者Proxy,通常用于耗时比较长的检查。很多检查非常耗时间,导致zabbix超时。于是我们在脚本执行完毕之后,使用sender主动提交数据。
zabbix_proxy:zabbix代理守护进程。机能类似Server,唯一不同的是它只是两个中转站,它须要把搜集到的数据提交/被提交到Server里。
zabbix_java_gateway:Java网关,类似agentd,但是只用于Java方面。它只能主动去获取数据,而不能被动获取数据。它的数据最终会给到Server或者proxy。
二、Zabbix监视网络平台构筑
环境介绍:
CentOS 7.5
Zabbix-server(监视端)192.168.2.128
Zabbix-agent (被监视端)192.168.2.129
1.基础环境配置:
[root@localhost ~]systemctl disable firewalld 禁止防火墙服务启动[root@localhost ~]systemctl stop firewalld 关闭防火墙服务[root@localhost ~]setenforce = 0 临时关闭SELinux[root@localhost ~]vim /etc/sysconfig/selinux 修改将SELINUX=enforcing更改为SELINUX=disabled,永久关闭SELINUX...
SELINUX=disabled
...
[root@localhost ~]getenforceDisabled
[root@localhost ~]yum install tree net-tool net-snmp vim ntpdate wget 加装部份基础软件包[root@localhost ~]cd /etc/yum.repos.d/ 修改yum源 更改为阿里云[root@localhost ~]mv CentOS-Base.repo CentOS-Base.repo.bak 备份文件[root@localhost ~]wget -O CentOS-Base.repo http://mirrors.aliyun.com/repo/Centos-7.repo 下载阿里云镜像仓库[root@localhost ~]wget -O /etc/yum.repos.d/epel.repo http://mirrors.aliyun.com/repo/epel-7.repo 下载epel仓库[root@localhost ~]yum clean all 清理缓存[root@localhost ~]yum makecache 重新生成缓存
2.加装Mysql数据库
[root@localhost ~]wget https://repo.mysql.com//mysql57-community-release-el7-11.noarch.rpm //下载Mysql 5.7 Yum源[root@localhost ~]ls mysql57-community-release-el7-11.noarch.rpmmysql57-community-release-el7-11.noarch.rpm
[root@localhost ~]rpm -ivh mysql57-community-release-el7-11.noarch.rpm //加装Mysql Yum源[root@localhost ~]yum -y install mysql-server //加装mysql[root@localhost ~]systemctl start mysqld //启动Mysqld服务[root@localhost ~]systemctl enable mysqld //开机自启mysql[root@localhost ~]ss -antulp | grep :3306tcp LISTEN080[::]:3306[::]:*users:(("mysqld",pid=54086,fd=21))
[root@localhost ~]grep root@localhost: /var/log/mysqld.log //查看初始密码2020-03-20T00:57:34.072739Z1[Note] Atemporarypasswordisgeneratedforroot@localhost: hsQ(7(so_cgX
[root@localhost ~]mysql -hlocalhost -uroot -phsQ(7(so_cgX //使用初始密码登陆mysql: [Warning]Usingapasswordonthe command lineinterfacecan be insecure.
...Serverversion:5.7.29...
mysql>
mysql>alteruserroot@"localhost"identifiedby"123qqq...A"; 修改登陆密码
[root@localhost ~]mysql -uroot -p123qqq...A //使用新密码登陆
3.加装Zabbix 5.0监视网络平台
加装Zabbix Yum源仓库
[root@localhost ~]rpm -Uvh https://repo.zabbix.com/zabbix/5.0/rhel/7/x86_64/zabbix-release-5.0-1.el7.noarch.rpm[root@localhost ~]yum clean all
加装Zabbix Server 与 Zabbix agent
[root@localhost ~]yum -y install zabbix-server-mysql zabbix-agent
注意:如果加装中报错:Delta RPMs disabled because /usr/bin/applydeltarpm not installed,则加装 deltarpm软件。
yum-y install deltarpm
加装Zabbix frontend
[root@localhost ~]yum -y install centos-release-scl[root@localhost ~]vim /etc/yum.repos.d/zabbix.repo...
[zabbix-frontend]
name=Zabbix Official Repository frontend - $basearch
baseurl=http://repo.zabbix.com/zabbix/5.0/rhel/7/$basearch/frontendenabled=1//将0修改为1...
加装Zabbix前端包
[root@localhost ~]yum -y install zabbix-web-mysql-scl zabbix-apache-conf-scl
创建和初始化数据库
[root@localhost ~]mysql-uroot-p123qqq...A...mysql>createdatabasezabbixcharactersetutf8collateutf8_bin;QueryOK, 1rowaffected(0.00sec)mysql>createuserzabbix@localhostidentified by123qqq...A;QueryOK, 0rowsaffected(0.00sec)mysql>grantallprivilegesonzabbix.*tozabbix@localhost;QueryOK, 0rowsaffected(0.00sec)mysql>exitBye
导入Zabbix数据库结构和数据
[root@localhost ~]zcat /usr/share/doc/zabbix-server-mysql*/create.sql.gz | mysql -uzabbix -p123qqq...A zabbixmysql: [Warning] Using a passwordonthe command line interface can be insecure.
其中-uzabbix是前面在数据库中创建的用户,-p123qqq...A是前面数据库中创建的用户的密码,后面的zabbix是前面创建的数据库。
4.配置Zabbix server
[root@localhost ~]vim /etc/opt/rh/rh-nginx116/nginx/conf.d/zabbix.confserver {listen 80;server_name example.com;取消以上两行注释修改后为以下:
server {listen80;
server_name example.com;
...
[root@localhost ~]cat /etc/opt/rh/rh-nginx116/nginx/conf.d/zabbix.confserver {listen80;
server_name example.com;
root /usr/share/zabbix;indexindex.php;
location =/favicon.ico {
log_not_found off;
}
location /{
try_files $uri $uri/ =404;
}
location /assets {
access_log off;
expires10d;
}
location ~/\.ht {
deny all;
}
location ~ /(api\/|conf[^\.]|include|locale) {
deny all;return404;
}
location ~ [^/]\.php(/|$) {
fastcgi_pass unix:/var/opt/rh/rh-php72/run/php-fpm/zabbix.sock;
fastcgi_split_path_info ^(.+\.php)(/.+)$;
fastcgi_index index.php;
fastcgi_param DOCUMENT_ROOT /usr/share/zabbix;
fastcgi_param SCRIPT_FILENAME /usr/share/zabbix$fastcgi_script_name;
fastcgi_param PATH_TRANSLATED /usr/share/zabbix$fastcgi_script_name;
include fastcgi_params;
fastcgi_param QUERY_STRING $query_string;
fastcgi_param REQUEST_METHOD $request_method;
fastcgi_param CONTENT_TYPE $content_type;
fastcgi_param CONTENT_LENGTH $content_length;
fastcgi_intercept_errors on;
fastcgi_ignore_client_abort off;
fastcgi_connect_timeout60;
fastcgi_send_timeout180;
fastcgi_read_timeout180;
fastcgi_buffer_size128k;
fastcgi_buffers4256k;
fastcgi_busy_buffers_size256k;
fastcgi_temp_file_write_size256k;
}
}
[root@localhost ~]vim /etc/zabbix/zabbix_server.conf...116DBUser=zabbix //用户名要与数据库中创建的供zabbix访问的用户名一致
...124DBPassword=123qqq...A //去掉注释,加进创建的zabbix用户的数据库密码
...
为Zabbix前端配置PHP
[root@localhost~]vim/etc/opt/rh/rh-php72/php-fpm.d/zabbix.conf[zabbix]user=apachegroup=apachelisten=/var/opt/rh/rh-php72/run/php-fpm/zabbix.socklisten.acl_users=apache,nginx//加进两个nginxlisten.allowed_clients=127.0.0.1pm=dynamicpm.max_children=50pm.start_servers=5pm.min_spare_servers=5pm.max_spare_servers=35php_value[session.save_handler]=filesphp_value[session.save_path]=/var/opt/rh/rh-php72/lib/php/session/php_value[max_execution_time]=300php_value[memory_limit]=128Mphp_value[post_max_size]=16Mphp_value[upload_max_filesize]=2Mphp_value[max_input_time]=300php_value[max_input_vars]=10000;php_value[date.timezone]=Europe/Riga--》取消注释将Europe/Riga时区修改为以下:php_value[date.timezone]=Aisa/Shanghai
6.开启服务
[root@localhost~]systemctlrestartzabbix-serverzabbix-agenthttpdrh-php72-php-fpm[root@localhost~]systemctlenablezabbix-serverzabbix-agenthttpdrh-php72-php-fpm[root@localhost~]ss-antulp|grep:80tcpLISTEN0128:::80:::*users:(("httpd",pid=5619,fd=4),("httpd",pid=5618,fd=4),("httpd",pid=5617,fd=4),("httpd",pid=5616,fd=4),("httpd",pid=5614,fd=4),("httpd",pid=5585,fd=4))[root@localhost~]ps-aux|grepzabbix......apache56770.00.33366727316?S16:360:00php-fpm:poolzabbixroot58090.00.0112736976pts/0S+16:470:00grep--color=autozabbix
7.访问
报错:
检查设置时区的配置文件,发现是时区写错了
[root@localhost ~]vim /etc/opt/rh/rh-php72/php-fpm.d/zabbix.conf[zabbix]
user = apachegroup= apache
...
php_value[date.timezone] = Aisa/Shanghai//错误,应该是Asia/Shanghai修改:
php_value[date.timezone] = Asia/Shanghai
[root@localhost ~]systemctl restart zabbix-server zabbix-agent httpd rh-php72-php-fpm //重启服务
能看到已经登录到zabbix 5.0监视介面了,上面的红色提示不是报错,只是提示之前2次登录尝试失败..刷新一下提示就消失了。
修改Zabbix 5.0介面语言为中文:
三、被监视端Zabbix-agent加进
永久关闭防火墙
[root@localhost ~]systemctl stop firewalld[root@localhost ~]systemctl disable firewalld //永久关闭防火墙
[root@localhost ~]wgethttps://mirrors.tuna.tsinghua.edu.cn/zabbix/zabbix/5.0/rhel/6/x86_64/zabbix-agent-5.0.0-1.el6.x86_64.rpm[root@localhost ~]ll-hzabbix-agent-5.0.0-1.el6.x86_64.rpm-rw-r--r--1rootroot436K5月1120:06zabbix-agent-5.0.0-1.el6.x86_64.rpm[root@localhost ~]rpm-ivhzabbix-agent-5.0.0-1.el6.x86_64.rpm警告:zabbix-agent-5.0.0-1.el6.x86_64.rpm: 头V4RSA/SHA512Signature, 密钥IDa14fe591:NOKEY错误:依赖检测失败:libpcre.so.0()(64bit) 被zabbix-agent-5.0.0-1.el6.x86_64须要
注意:
如果下载的zabbix-agent 5.0加装包使用rpm加装时提示错误:依赖检测失败:libpcre.so.0()(64bit),则能使用zabbix 5.0 Yum源来加装zabbix-agent 5.0软件。
----> 传送门加装zabbix-agent5.0 报错化解
加装Zabbix Yum源仓库
[root@localhost ~]rpm -Uvh https://repo.zabbix.com/zabbix/5.0/rhel/7/x86_64/zabbix-release-5.0-1.el7.noarch.rpm[root@localhost ~]yum clean all
使用Zabbix 5.0 Yum源文件加装zabbix-agent 5.0软件,并且将gpgcheck=1修改为gpgcheck=0,防止出现获取GPG密钥失败报错。
修改Zabbix 5.0 Yum源配置文件:
[root@localhost ~]sed -i "s/gpgcheck=1/gpgcheck=0/g" /etc/yum.repos.d/zabbix.repo[root@localhost ~]cat /etc/yum.repos.d/zabbix.repo[zabbix]
name=Zabbix Official Repository - $basearch
baseurl=http://repo.zabbix.com/zabbix/5.0/rhel/7/$basearch/
enabled=1
gpgcheck=0 //修改gpgcheck=0
gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-ZABBIX-A14FE591
[zabbix-frontend]
name=Zabbix Official Repository frontend - $basearch
baseurl=http://repo.zabbix.com/zabbix/5.0/rhel/7/$basearch/frontend
enabled=1
gpgcheck=0 //修改gpgcheck=0
gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-ZABBIX-A14FE591
[zabbix-debuginfo]
name=Zabbix Official Repository debuginfo - $basearch
baseurl=http://repo.zabbix.com/zabbix/5.0/rhel/7/$basearch/debuginfo/
enabled=0
gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-ZABBIX-A14FE591
gpgcheck=0 //修改gpgcheck=0
[zabbix-non-supported]
name=Zabbix Official Repository non-supported - $basearch
baseurl=http://repo.zabbix.com/non-supported/rhel/7/$basearch/
enabled=1
gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-ZABBIX
gpgcheck=0 //修改gpgcheck=0
[root@localhost ~]yum -y install zabbix-agent //加装zabbix-agent 5.0软件...已加装:zabbix-agent.x86_64 0:5.0.0-1.el7
完毕!
修改zabbix-agent配置文件:
[root@localhost ~]vim /etc/zabbix/zabbix_agentd.conf119Server=127.0.0.1,192.168.2.128//Zabbix-server地址,多个用","隔开160ServerActive=192.168.2.128//主动检查本主机数据发送给Zabbix-server171Hostname=Zabbix server172Hostname=192.168.2.129//客户端IP地址
[root@localhost ~]systemctl start zabbix-agent[root@localhost ~]systemctl enable zabbix-agent[root@localhost ~]ss -antulp | grep :10050tcp LISTEN0128*:10050*:* users:(("zabbix_agentd",pid=3389,fd=4),("zabbix_agentd",pid=3388,fd=4),("zabbix_agentd",pid=3387,fd=4),("zabbix_agentd",pid=3386,fd=4),("zabbix_agentd",pid=3385,fd=4),("zabbix_agentd",pid=3384,fd=4))
tcp LISTEN0128:::10050:::* users:(("zabbix_agentd",pid=3389,fd=5),("zabbix_agentd",pid=3388,fd=5),("zabbix_agentd",pid=3387,fd=5),("zabbix_agentd",pid=3386,fd=5),("zabbix_agentd",pid=3385,fd=5),("zabbix_agentd",pid=3384,fd=5))
如果你觉得这篇文章还不错,就请动动你的发财手为本文点赞-评论-转发吧,因为这将是我持续输出更多优质文章的最强动力,谢谢!
我告诉你msdn版权声明:以上内容作者已申请原创保护,未经允许不得转载,侵权必究!授权事宜、对本内容有异议或投诉,敬请联系网站管理员,我们将尽快回复您,谢谢合作!