Zabbix --- 安装部署
环境准备
OS:CentOS 7
1、安装步骤
1.1、关闭selinux和iptables
systemctl stop firewalld.service systemctl disable firewalld.service
sed -i 's/^SELINUX=/cSELINUX=disabled/g' /etc/selinux/config setenforce 0
1.2、安装依赖
yum groups install "Development Tools" -y
yum install -y gcc-c++
yum install -y libmysql*
yum install -y fping
2、安装Zabbix rpm包仓库
官网在国内可能会被墙,所以用清华开源镜像:
rpm -ivh https://mirrors.tuna.tsinghua.edu.cn/zabbix/zabbix/5.0/rhel/7/x86_64/zabbix-release-5.0-1.el7.noarch.rpm
sed -i 's/enabled=0/enabled=1/g' /etc/yum.repos.d/zabbix.repo
yum clean all && yum makecache fast
yum install -y zabbix-server-mysql zabbix-agent
yum install -y zabbix-web-mysql-scl zabbix-apache-conf-scl
使用yum命令安装时,经常报“[Errno 14] curl#18 - "transfer closed with 2155904 bytes remaining to read"”,换了镜像源也是报错,只能手动安装rpm包了
yum install -y centos-release-scl-rh yum install -y rh-php72* rpm -ivh https://mirrors.tuna.tsinghua.edu.cn/zabbix/zabbix/5.0/rhel/7/x86_64/zabbix-server-mysql-5.0.3-1.el7.x86_64.rpm rpm -ivh https://mirrors.tuna.tsinghua.edu.cn/zabbix/zabbix/5.0/rhel/7/x86_64/frontend/zabbix-web-5.0.3-1.el7.noarch.rpm rpm -ivh https://mirrors.tuna.tsinghua.edu.cn/zabbix/zabbix/5.0/rhel/7/x86_64/zabbix-agent-5.0.3-1.el7.x86_64.rpm rpm -ivh https://mirrors.tuna.tsinghua.edu.cn/zabbix/zabbix/5.0/rhel/7/x86_64/zabbix-java-gateway-5.0.3-1.el7.x86_64.rpm rpm -ivh https://mirrors.tuna.tsinghua.edu.cn/zabbix/zabbix/5.0/rhel/7/x86_64/zabbix-get-5.0.3-1.el7.x86_64.rpm rpm -ivh https://mirrors.tuna.tsinghua.edu.cn/zabbix/zabbix/5.0/rhel/7/x86_64/frontend/zabbix-web-mysql-scl-5.0.3-1.el7.noarch.rpm rpm -ivh https://mirrors.tuna.tsinghua.edu.cn/zabbix/zabbix/5.0/rhel/7/x86_64/frontend/zabbix-apache-conf-scl-5.0.3-1.el7.noarch.rpm
[root@localhost ~]# rpm -qa | grep zabbix
zabbix-web-5.0.3-1.el7.noarch
zabbix-java-gateway-5.0.3-1.el7.x86_64
zabbix-server-mysql-5.0.3-1.el7.x86_64
zabbix-agent-5.0.3-1.el7.x86_64
zabbix-release-5.0-1.el7.noarch
zabbix-web-mysql-scl-5.0.3-1.el7.noarch
zabbix-web-deps-scl-5.0.3-1.el7.noarch
zabbix-get-5.0.3-1.el7.x86_64
3、安装mysql数据库
rpm -ivh http://repo.mysql.com/yum/mysql-5.7-community/el/7/x86_64/mysql-community-server-5.7.10-1.el7.x86_64.rpm
yum install -y mysql-community-server
systemctl start mysqld
systemctl enable mysqld
chkconfig mysqld on #开机启动
mysql_secure_installation #初始化数据库信息
4、创建数据库及用户
create database zabbix character set utf8 collate utf8_bin; grant all privileges on zabbix.* to 'zabbix'@'localhost' identified by 'zabbix'; grant all privileges on zabbix.* to 'zabbix'@'%' identified by 'zabbix'; flush privileges;
5、导入默认数据库数据
[root@localhost ~]# cd /usr/share/doc/zabbix-server-mysql-5.0.3/
[root@localhost zabbix-server-mysql-5.0.3]# zcat create.sql.gz | mysql zabbix -uzabbix -pzabbix
6、修改配置文件zabbix_server.conf
[root@perf-nfs zabbix-server-mysql-5.0.3]# cat /etc/zabbix/zabbix_server.conf | grep -v "#\|^$" LogFile=/var/log/zabbix/zabbix_server.log LogFileSize=0 PidFile=/var/run/zabbix/zabbix_server.pid SocketDir=/var/run/zabbix DBHost=192.168.0.12 DBName=zabbix DBUser=zabbix DBPassword=zabbix DBPort=3306 SNMPTrapperFile=/var/log/snmptrap/snmptrap.log Timeout=4 AlertScriptsPath=/usr/lib/zabbix/alertscripts ExternalScripts=/usr/lib/zabbix/externalscripts LogSlowQueries=3000 StatsAllowedIP=127.0.0.1
7、为Zabbix前端配置PHP
编辑/etc/opt/rh/rh-php72/php-fpm.d/zabbix.conf文件
vi /etc/opt/rh/rh-php72/php-fpm.d/zabbix.conf
php_value[date.timezone] = Asia/Shanghai
编译/etc/php.ini文件
vi /etc/php.ini
[Date]
; Defines the default timezone used by the date functions
; http://php.net/date.timezone
date.timezone = Asia/Shanghai
8、启动Zabbix
systemctl restart zabbix-server zabbix-agent httpd rh-php72-php-fpm
systemctl enable zabbix-server zabbix-agent httpd rh-php72-php-fpm
9、配置Zabbix Web前端
浏览器输入http://ip:port/zabbix,Zabbix初始用户名:Admin,初始密码为:zabbix
10、zabbix agent安装
zabbix server主机上部署ansible,然后将所有需要监控的agent主机信息添加到/etc/ansible/hosts中:
[zabbixagent] perf-components-0001 ansible_host=perf-components-0001 ip=192.168.0.52 ansible_ssh_pass='Qwer12#$'
完成ansible配置后,进行zabbix agent安装
ansible zabbixagent -m shell -a "rpm -ivh https://mirrors.tuna.tsinghua.edu.cn/zabbix/zabbix/5.0/rhel/7/x86_64/zabbix-release-5.0-1.el7.noarch.rpm" ansible zabbixagent -m shell -a "sed -i 's/enabled=0/enabled=1/g' /etc/yum.repos.d/zabbix.repo" ansible zabbixagent -m shell -a "sed -i 's/repo.zabbix.com/mirrors.tuna.tsinghua.edu.cn\/zabbix/g' /etc/yum.repos.d/zabbix.repo" ansible zabbixagent -m shell -a "yum clean all && yum makecache fast" ansible zabbixagent -m shell -a 'yum groups install "Development Tools" -y' ansible zabbixagent -m shell -a "yum install -y gcc-c++" ansible zabbixagent -m shell -a "yum install -y zabbix-agent"
完成agent安装后,使用脚本批量修改/etc/zabbix/zabbix_agentd.conf文件中的相关配置:
修改脚本update_agentd_conf.sh如下:
#!/bin/bash new_host=`hostname` tmp_new="Hostname=$new_host" sed -i "/^Hostname/c$tmp_new" /etc/zabbix/zabbix_agentd.conf sed -i '/^Server=/cServer=192.168.0.11' /etc/zabbix/zabbix_agentd.conf sed -i '/^ServerActive=/cServerActive=192.168.0.11' /etc/zabbix/zabbix_agentd.conf #192.168.0.11为zabbix server IP
上传脚本到各个agent主机并执行:
ansible zabbixagent -m copy -a "src=/root/update_agentd_conf.sh dest=/root/ mode=0755" ansible zabbixagent -m shell -a "sh /root/update_agentd_conf.sh"
启动zabbix agent:
ansible zabbixagent -m shell -a "systemctl start zabbix-agent && systemctl enable zabbix-agent"