zabbix的搭建
1.zabbix-server的搭建
1.1 下载zabbix-server
如果机器是centos7的话,yum源里面含有的zabbix是4.0和3.0版本的,如果你想使用这几个版本就可以直接使用yum源进行下载。
yum list | grep zabbix
如果你想使用5.0的版本,那么你就需要去找这个版本所对应的zabbix源了,这里我使用的是官方源,但是修改为的阿里的源,具体的操作步骤如下:
#centos7
rpm -Uvh https://mirrors.aliyun.com/zabbix/zabbix/5.0/rhel/7/x86_64/zabbix-release-5.0-1.el7.noarch.rpm
#修改源为阿里源
[zabbix]
name=zabbix official Repository - $basearch
baseurl=https://mirrors.aliyun.com/zabbix/zabbix/5.0/rhel/7/$basearch/
enabled=1
gpgcheck=1
gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-ZABBIX-A14FE591
[zabbix-frontend]
name=Zabbix official Repository frontend - $basearch
baseurl=https://mirrors.aliyun.com/zabbix/zabbix/5.0/rhel/7/$basearch/frontend
enabled=1
gpgcheck=1
gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-ZABBIX-A14FE591
[zabbix-debuginfo]
name=Zabbix official Repository debuginfo - $basearch
baseurl=https://mirrors.aliyun.com/zabbix/zabbix/5.O/rhel/7/$basearch/debuginfo/
enabled=0
gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-ZABBIX-A14FE591
gpgcheck=1
[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=1
下载完成后使用yum list | grep zabbix,你就可以看到zabbix5.0版本了
下载zabbix-server
yum -y install zabbix-server-mysql
1.2 MySQL安装
在完成zabbix-server下载之后,我们还需要一个数据库用来存放数据,这里使用的是mysql5.7版本的,具体的操作步骤如下:
首先在清华源上拿到mysql.repo放到机器上/etc/yum.repos.d/目录下
#centos7 [mysql-connectors-community] name=MySQL Connectors Community baseurl=https://mirrors.tuna.tsinghua.edu.cn/mysql/yum/mysql-connectors-community-el7-$basearch/ enabled=1 gpgcheck=1 gpgkey=https://repo.mysql.com/RPM-GPG-KEY-mysql [mysql-tools-community] name=MySQL Tools Community baseurl=https://mirrors.tuna.tsinghua.edu.cn/mysql/yum/mysql-tools-community-el7-$basearch/ enabled=1 gpgcheck=1 gpgkey=https://repo.mysql.com/RPM-GPG-KEY-mysql [mysql-5.6-community] name=MySQL 5.6 Community Server baseurl=https://mirrors.tuna.tsinghua.edu.cn/mysql/yum/mysql-5.6-community-el7-$basearch/ enabled=0 gpgcheck=1 gpgkey=https://repo.mysql.com/RPM-GPG-KEY-mysql [mysql-5.7-community] name=MySQL 5.7 Community Server baseurl=https://mirrors.tuna.tsinghua.edu.cn/mysql/yum/mysql-5.7-community-el7-$basearch/ enabled=1 gpgcheck=1 gpgkey=https://repo.mysql.com/RPM-GPG-KEY-mysql
然后下载MySQL
yum -y install mysql mysql-server
下载完成之后,由于是5.7版本的,所以会有一个默认的密码,这时你需要启动mysql才能获取到这个默认的密码,如果你不需要修改数据存放的路径,那么你就可以使用这个默认的密码去修改一个你认为合适的密码。
#启动mysql
systemctl start mysqld
#拿到默认密码
cat /var/log/mysqld.log | grep password
#修改密码
mysqldump -uroot -p"默认密码" password "新密码"
最后进入数据库,创建一个用于存放数据的库,名字一般用zabbix,创建一个zabbix用户并授权这个库的权限,然后把zabbix的基础数据导入进来
#创建初始化的数据库
create database zabbix character set utf8 collate utf8_bin;
#创建一个zabbix用户并授权
grant all privileges on zabbix.* to zabbix@localhost identified by '密码';
flush privileges;
#导入zabbix基础数据
zcat /usr/share/doc/zabbix-server-mysql-5.0.13/create.sql.gz | mysql -uzabbix -p"密码" zabbix
1.3 下载PHP和nginx和zabbix-web并配置
要能让数据更直观的显示出来,我们需要有一个平台,这里使用lnmp来搭建,刚才处理了mysql,现在安装nginx和php,安装步骤如下:
#安装nginx直接yum就好了 yum -y install nginx #安装web的时候已自带php,可以不用自己再去安装了 #安装web yum install zabbix-web-mysql-scl 这个下载可能会出现依赖的错误,zabbix-web-deps-scl-5.0.3-1.el7.noarch (zabbix-frontend) Requires: rh-php72-php-mbstring,这个时候可以安装下面的方式进行操作: 换源 yum install centos-release-scl 重新安装这个源,然后把下面的软件安装好 yum install rh-php72-php-mbstring rh-php72-php-bcmath rh-php72-php-gd rh-php72-php-mysqlnd rh-php72-php-xml rh-php72-php-ldap rh-php72-php-fpm rh-php72 rh-php72-php -y 然后再安装zabbix-web-mysql-scl 就可以成功了 #配置php文件 vim /etc/opt/rh/rh-php72/php-fpm.d/zabbix.conf #修改下面的内容 listen.acl_users = nginx php_value[date.timezone] = Asia/Shanghai 启动php,systemctl start rh-php72-php-fpm即可 #修改nginx的配置,添加zabbix.conf server { listen XXXX; root /usr/share/zabbix; index index.php; location = /favicon.ico { log_not_found off; } location / { try_files $uri $uri/ =404; } location /assets { access_log off; expires 10d; } location ~ /\.ht { deny all; } location ~ /(api\/|conf[^\.]|include|locale) { deny all; return 404; } 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_timeout 60; fastcgi_send_timeout 180; fastcgi_read_timeout 180; fastcgi_buffer_size 128k; fastcgi_buffers 4 256k; fastcgi_busy_buffers_size 256k; fastcgi_temp_file_write_size 256k; } }
1.4 修改zabbix-server的配置文件并启动
打开/etc/zabbix/zabbix_server.conf配置文件,把数据库的相关配置添加上去,其他的先保存默认就好,如果需要修改也可以酌情修改。
#打开配置文件 vim /etc/zabbix/zabbix_server.conf #修改配置 LogFile=/var/log/zabbix/zabbix_server.log LogFileSize=0 PidFile=/var/run/zabbix/zabbix_server.pid SocketDir=/var/run/zabbix DBName=zabbix DBUser=zabbix DBPassword=你授权的密码 SNMPTrapperFile=/var/log/snmptrap/snmptrap.log Timeout=4 AlertScriptsPath=/usr/lib/zabbix/alertscripts ExternalScripts=/usr/lib/zabbix/externalscripts LogSlowQueries=3000
修改完成之后保存你就可以启动zabbix-server了
systemctl start zabbix-server
2. zabbix-agent的搭建
2.1 zabbix-agent的下载
在上面安装完成zabbix-server之后就可以安装zabbix-agent了,步骤如下:
yum -y install zabbix-agent
2.2 zabbix-agent的配置
zabbix-agent的安装完成之后可以去/etc/zabbix目录下配置相应的配置文件了,具体配置如下:
#zabbix_agent.conf PidFile=/var/run/zabbix/zabbix_agentd.pid LogFile=/var/log/zabbix/zabbix_agentd.log LogFileSize=0 Server=机器的IP(如果有代理填写代理机器的IP,如果和server在一台机器填本机IP,如果不在填写server的公网IP) ListenPort=监听的端口,可以默认可以自己指定 Hostname=本机的hostname #启动php和ngin systemctl start rh-php72-php-fpm systemctl start nginx
配置完成之后就可以起服务了
systemctl start zabbix-agent
3. 网站配置
在上面的操作都全部做完之后就可以上网站了,输入自己的IP以及自己配置的端口就可以看到下面的图片
点击下一步
如果说你发现这一页全部都是OK,那么你就可以接着点击下一步操作了
这里就是配置你的zabbix数据库相关的东西了,按照之前的配置就可以了。
这里默认就可以,name可以填写你想填写的,后面基本都是可以默认,最后进入登录页面,填写zabbix的账号和密码就可以登录上去了,这里zabbix的默认账号是Admin密码是Zabbix。