linux 安装配置Zabbix

linux 安装配置Zabbix 文章目录环境功能局域网安装软件下载地址准备工作查看SELinux状态关闭selinux和iptables一、安装zabbix服务端1.局域网安装1.1 安装依赖1.2 安装zabbix-server-mysql1.3.安装 Zabbix 前端并使用 MySQL 数据库1.4.安装Zzabbix-java-gateway2. 互联网安装2.1 下载centos7源解决依赖问题2.2 下载zabbix4.4源2.3 安安装Zabbix serverWeb前端agent客户端二、安装配置数据库1.安装启动数据库2.创建Zabbix相应的数据库和用户3.查看sql语句目录4.导入SQL语句到刚才创建的zabbix数据库中三、配置Zabbix服务器端1. 修改Zabbix服务器端的配置文件 /etc/zabbix/zabbix_server.conf的相关参数2.启动Zabbix服务加入开机自启动3.修改httpd的配置文件/etc/httpd/conf.d/zabbix.conf4.启动httpd服务加入开机自启动四、安装Zabbix agent客户端1. linux安装配置Zabbix agent客户端1.1 安装Zabbix agent客户端1.2 配置启动客户端2. Windows安装Zabbix agent客户端2.1 下载客户端工具2.2 安装客户端2.3 勾选同意复选框点击下一步2.4. 配置客户端五、Web端基本配置2、检查基本设置3、配置连接数据库4、输入服务器名称5、登录Zabbix6、修改语言为中文7、修改乱码现象六、Zabbix监控部署1、添加监控主机添加默认的监控项模板2、自定义监控项#WEB界面添加该监控项配置触发器七、邮件报警1、定义发件人2、定义收件人3、配置动作八、问题8.1. zabbix server is not running错误8.2.查看日志cat /var/log/zabbix/zabbix_server.log Z3001错误8.3 问题添加自定义端口重启(systemctl restart zabbix-agent)报错8.4 访问错误环境操作系统CentOS 7.6zabbix监控服务端zabbix-server-mysql-4.4.8-1.el7.x86_64.rpmzabbix监控数据库MariaDB-server-5.5.65-1.el7.centos.x86_64.rpmzabbix监控java网关服务 zabbix-java-gateway-4.4.9-1.el7.x86_64.rpmzabbix前端并使用 MySQL 数据库zabbix-web-mysql-4.4.8-1.el7.noarch.rpmzabbix-web-4.4.8-1.el7.noarch.rpmzabbix客户端zabbix-agent-4.4.8-1.el7.x86_64.rpmzabbix-get工具zabbix-get-4.4.8-1.el8.x86_64.rpm功能zabbix-server 监控中心接收客户端上报信息负责配置、统计、操作数据数据存储 存放数据比如mysqlweb界面 也叫web UI在web界面下操作配置是zabbix简单易用的主要原因zabbix-proxy 可选组件它可以代替zabbix-server的功能减轻server的压力zabbix-agent 客户端软件负责采集各个监控服务或项目的数据并上报zabbix-server-mysql 提供zabbix-server服务zabbix-proxy-mysql 提供zabbix的代理服务可以实现分布式监控减轻zabbix-server的压力zabbix-web-mysql 提供httpd服务zabbix-get 提供检查是否能正确获取到zabbix的监控脚本key的监控值zabbix-agent 提供zabbix-agent服务局域网安装软件下载地址下载链接https://pan.baidu.com/s/1x-P3JIWTFqB8Xyy0dNfXnw密码prrc准备工作查看SELinux状态[rootVM-0-17-centos ~]# /usr/sbin/sestatus -v SELinux status: disabled [rootVM-0-17-centos ~]# getenforce Disabled关闭selinux和iptablessystemctl stop firewalld.service setenforce 0一、安装zabbix服务端1.局域网安装注局域网安装本例首先配置CentOS-7-x86_64-DVD-2003.iso镜像为yum源1.1 安装依赖yum install fping-3.10-4.el7.x86_64.rpm php-common-5.4.16-48.el7.x86_64.rpm php-bcmath-5.4.16-48.el7.x86_64.rpm php-mbstring-5.4.16-48.el7.x86_64.rpm php-pdo-5.4.16-48.el7.x86_64.rpm php-mysql-5.4.16-48.el7.x86_64.rpm openssl11-libs-1.1.1c-2.el7.x86_64.rpm -y1.2 安装zabbix-server-mysqlyum install zabbix-server-mysql-4.4.8-1.el7.x86_64.rpm -y1.3.安装 Zabbix 前端并使用 MySQL 数据库yum install zabbix-web-mysql-4.4.8-1.el7.noarch.rpm zabbix-web-4.4.8-1.el7.noarch.rpm zabbix-web-4.4.8-1.el7.noarch.rpm -y1.4.安装Zzabbix-java-gateway#安装这个前先安装配置java环境 yum install zabbix-java-gateway-4.4.9-1.el7.x86_64.rpm -y2. 互联网安装2.1 下载centos7源解决依赖问题阿里或网易yum源二选一#阿里源 wget -O /etc/yum.repos.d/CentOS-Base.repo http://mirrors.aliyun.com/repo/Centos-7.repo #163源 wget http://mirrors.163.com/.help/CentOS7-Base-163.repo2.2 下载zabbix4.4源rpm -Uvh https://repo.zabbix.com/zabbix/4.4/rhel/7/x86_64/zabbix-release-4.4-1.el7.noarch.rpm #查看源多出zabbix.repo文件 ls /etc/yum.repos.d/ yum clean all2.3 安安装Zabbix serverWeb前端agent客户端yum install zabbix-server-mysql zabbix-web-mysql zabbix-agent -y互联网装agent客户端无需配置CentOS-7-x86_64-DVD-2003.iso镜像为yum源只需配置阿里源或网易yum源二、安装配置数据库1.安装启动数据库yum install mariadb-server -y启动数据库加入开机自启动systemctl start mariadb systemctl enable mariadb2.创建Zabbix相应的数据库和用户#创建Zabbix的数据库名为zabbix注意字符集的选择 mysql -uroot -e CREATE DATABASE zabbix CHARSET utf8 COLLATE utf8_bin #创建Zabbix的用户名为zabbixadmin密码为123456 mysql -uroot -e GRANT ALL ON zabbix.* TO zabbixadminlocalhost IDENTIFIED BY 123456 #查看新建都数据库 [rootVM-0-17-centos ~]# mysql -uroot -e show databases -------------------- | Database | -------------------- | information_schema | | mysql | | performance_schema | | test | | zabbix | --------------------3.查看sql语句目录#查看到数据目录/usr/share/doc/zabbix-server-mysql-4.4.8/create.sql.gz rpm -ql zabbix-server-mysql4.导入SQL语句到刚才创建的zabbix数据库中zcat /usr/share/doc/zabbix-server-mysql-4.4.8/create.sql.gz | mysql -uzabbixadmin -p123456 zabbix注数据目录以上一步查看的数据目录为准三、配置Zabbix服务器端1. 修改Zabbix服务器端的配置文件 /etc/zabbix/zabbix_server.conf的相关参数vim /etc/zabbix/zabbix_server.conf DBHostlocalhost DBNamezabbix DBUserzabbixadmin DBPassword123456 DBPort3306 ListenIP192.168.1.100注ListenIP不要写为localhost写数据库所在ip2.启动Zabbix服务加入开机自启动systemctl start zabbix-server systemctl enable zabbix-server3.修改httpd的配置文件/etc/httpd/conf.d/zabbix.confvim /etc/httpd/conf.d/zabbix.conf php_value date.timezone Asia/Shanghai4.启动httpd服务加入开机自启动systemctl start httpd systemctl enable httpd四、安装Zabbix agent客户端1. linux安装配置Zabbix agent客户端1.1 安装Zabbix agent客户端rpm -vhi zabbix-agent-4.4.8-1.el7.x86_64.rpm1.2 配置启动客户端#备份 sudo cp -a /etc/zabbix/zabbix_agentd.conf /etc/zabbix/zabbix_agentd.conf_init #修改zabbix服务端ip sudo sed -i s/^ServerActive127.0.0.1/ServerActive192.168.1.100/ /etc/zabbix/zabbix_agentd.conf # Hostnamezhbaspmj-101改为对应的客户端IP sudo sed -i s/HostnameZabbix server/Hostnamezhbaspmj-101/ /etc/zabbix/zabbix_agentd.conf #重启客户端并设置开启自启动 sudo systemctl restart zabbix-agent sudo systemctl enable zabbix-agent #查看开机自启动服务 systemctl list-unit-files2. Windows安装Zabbix agent客户端2.1 下载客户端工具zabbix_agent-4.4.5-windows-amd64-openssl.msi2.2 安装客户端双击“zabbix_agent-4.4.5-windows-amd64-openssl.msi”下一步2.3 勾选同意复选框点击下一步2.4. 配置客户端host namezabbix客户端机器名 zabbix server ip/server or proxy…都填zabbix服务器ip一直下一步直到完成五、Web端基本配置1、浏览器登录Zabbixhttp://192.168.1.100/zabbix2、检查基本设置3、配置连接数据库4、输入服务器名称5、登录Zabbix系统默认的用户名Admin系统默认密码zabbix6、修改语言为中文7、修改乱码现象服务器端安装字体 # yum install wqy-microhei-fonts -y 修改字体链接链接到新安装的字体 # rm /usr/share/zabbix/assets/fonts/graphfont.ttf # ln -sv /usr/share/fonts/wqy-microhei/wqy-microhei.ttc /usr/share/zabbix/assets/fonts/graphfont.ttf六、Zabbix监控部署1、添加监控主机配置-主机-创建主机输入主机名称自定义群组自定义agent代理程序的接口ip地址客户端ip添加之后10分钟左右变绿则表示成功添加添加默认的监控项模板linux 选择Template OS Linux by Zabbix agent active Windows系统选择 Template OS Windows by Zabbix agent active 选择这个active被动模型客户端往服务端推数据2、自定义监控项配置监控项#自定义监控项的目录是/etc/zabbix/zabbix_agentd.d在里面创建以.conf结尾的文件即可 vim /etc/zabbix/zabbix_agentd.d/tomcat8080.conf #tomcat.port8080监控自定义名称监控8080端口是否启用ss -tnl | awk {print $4} | grep -o 8080 UserParametertomcat.port8080, ss -tnl | awk {print $4} | grep -o 8080 重启服务 # systemctl restart zabbix-agent#WEB界面添加该监控项1.配置-主机-监控项2.创建监控项3.输入名称、键值配置监控项文件的UserParameter值信息类型此处监控8080为数字新的应用集勾选已启用点击添加添加成功入下图配置触发器1.配置-主机-选择要创建触发器的主机点击触发器-创建触发器2.设置名称点击表达式右侧的添加按钮选择自定义监控项选择功能输入最后一个时间输入结果点击插入选择严重级别点击页面底部的添加按钮完成触发器的配置。下图为添加表达式下图为创建触发器服务器关闭tomcat systemctl stop tomcat查看结果七、邮件报警1、定义发件人管理-报警媒介类型-选择邮件-输入邮件信息2、定义收件人选择右侧小人像-报警媒介-添加-选择emall输入收件人信息-点击添加3、配置动作配置动作配置操作八、问题8.1. zabbix server is not running错误问题描述登录zabbix弹出如上图zabbix server is not running的警告解决方案关闭selinux修改/etc/selinux/config文件中的SELINUX“” 为 disabled 然后重启。如果不想重启系统使用命令setenforce 0 或 selinux0,也可以关闭selinux解决后的正确截图8.2.查看日志cat /var/log/zabbix/zabbix_server.log Z3001错误问题描述日志错误报错如下[Z3001] connection to database zabbix failed: [1045] Access denied for user zabbixadminlocalhost (using password: NO) 25222:20200820:100845.180 database is down: reconnecting in 10 seconds解决方案测试密码是否正确mysql -u zabbixadmin -p(Enter,输入密码)正确配置zabbix_server.conf文件vim /etc/zabbix/zabbix_server.confDBHostlocalhost DBNamezabbix DBUserzabbixadmin DBPassword123456 DBPort3306 #ListenIP192.168.1.100 --注意不要写为localhost写数据库所在ip# 开启的话只监听IPV4不开启IPV4/IPV6都监听。8.3 问题添加自定义端口重启(systemctl restart zabbix-agent)报错**问题描述**重启报错如下Job for zabbix-agent.service failed because the control process exited with error code. See “systemctl status zabbix-agent.service” and “journalctl -xe” for details.解决方法:根据提示执行systemctl status zabbix-agent.service [rootVM-0-17-centos zabbix_agentd.d]# systemctl status zabbix-agent.service zabbix-agent.service - Zabbix Agent Loaded: loaded (/usr/lib/systemd/system/zabbix-agent.service; enabled; vendor preset: disabled) Active: activating (auto-restart) (Result: exit-code) since 五 2020-08-21 10:37:16 CST; 464ms ago Process: 27067 ExecStop/bin/kill -SIGTERM $MAINPID (codeexited, status0/SUCCESS) Process: 13325 ExecStart/usr/sbin/zabbix_agentd -c $CONFFILE (codeexited, status1/FAILURE) Main PID: 26247 (codeexited, status0/SUCCESS) 8月 21 10:37:16 VM-0-17-centos systemd[1]: zabbix-agent.service: control process exited, codeexited status1 8月 21 10:37:16 VM-0-17-centos systemd[1]: Failed to start Zabbix Agent. 8月 21 10:37:16 VM-0-17-centos systemd[1]: Unit zabbix-agent.service entered failed state. 8月 21 10:37:16 VM-0-17-centos systemd[1]: zabbix-agent.service failed. 再次执行journalctl -xe可以从结果看出是因为参数错误把vim /etc/zabbix/zabbix_server.conferParameterhttpd.port80, ss -tnl | awk ‘{print $4}’ | grep -o ‘80’改为UserParameterhttpd.port80, ss -tnl | awk ‘{print $4}’ | grep -o ‘80’8.4 访问错误问题描述浏览器输入http://92.168.1.100/zabbix报错如下Not Found The requested URL /zabbix was not found on this server.问题原因因为httpd版本问题造成的解决方法查看版本httpd -version在/etc/httpd/conf.d/ 根据版本编辑zabbix.conf内容 适用于httpd2.2版本httpd 2.2版本的zabbix.conf内容# # Zabbix monitoring system php web frontend # Alias /zabbix /usr/share/zabbix Directory /usr/share/zabbix Options FollowSymLinks AllowOverride None Order allow,deny Allow from all IfModule mod_php5.c php_value max_execution_time 300 php_value memory_limit 128M php_value post_max_size 16M php_value upload_max_filesize 2M php_value max_input_time 300 php_value max_input_vars 10000 php_value always_populate_raw_post_data -1 # php_value date.timezone Europe/Riga php_value date.timezone Asia/ShangHai /IfModule /Directory Directory /usr/share/zabbix/conf Order deny,allow Deny from all files *.php Order deny,allow Deny from all /files /Directory Directory /usr/share/zabbix/app Order deny,allow Deny from all files *.php Order deny,allow Deny from all /files /Directory Directory /usr/share/zabbix/include Order deny,allow Deny from all files *.php Order deny,allow Deny from all /files /Directory Directory /usr/share/zabbix/local Order deny,allow Deny from all files *.php Order deny,allow Deny from all /files /Directoryhttpd 2.4版本的zabbix.conf内容# # Zabbix monitoring system php web frontend # Alias /zabbix /usr/share/zabbix Directory /usr/share/zabbix Options FollowSymLinks AllowOverride None Require all granted IfModule mod_php5.c php_value max_execution_time 300 php_value memory_limit 128M php_value post_max_size 16M php_value upload_max_filesize 2M php_value max_input_time 300 php_value max_input_vars 10000 php_value always_populate_raw_post_data -1 # php_value date.timezone Europe/Riga php_value date.timezone Asia/ShangHai /IfModule /Directory Directory /usr/share/zabbix/conf Require all denied /Directory Directory /usr/share/zabbix/app Require all denied /Directory Directory /usr/share/zabbix/include Require all denied /Directory Directory /usr/share/zabbix/local Require all denied /Directory编辑完成之后重启httpd服务service httpd restart