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"

 

posted @ 2020-09-16 16:46  Ethan_x  阅读(547)  评论(0编辑  收藏  举报