阿里云centos环境之Zabbix安装(十八)

阿里云centos环境之Zabbix安装(十八)

前言

zabbix4.0
zabbix监控范畴

  1. 硬件监控 :Zabbix IPMI Interface
  2. 系统监控 :Zabbix Agent Interface
  3. Java 监控:ZabbixJMX Interface
  4. 网络设备监抟:Zabbix SNMP Interface
  5. 应用服务监控:Zabbix Agent UserParameter
  6. MySQL 数据库监控:percona-monitoring-pldlgins
  7. URL监控:Zabbix Web监控

安装

zabbix依赖于mysql保存数据,所以第一步先安装mysql数据库,参考阿里云centos环境之mysql安装(二)

注意启动mysql报/var/lib/mysql/mysql.sock不存在时,要修改/etc/my.cnf,指定mysql.sock位置,默认位置是/tmp/mysq.sock。mysq.sock是一个临时文件,随着mysql服务启动而创建,关停而删除。

安装zabbix-release包

发布版本的包下载地址

rpm -ivh https://repo.zabbix.com/zabbix/4.0/rhel/7/x86_64/zabbix-release-4.0-1.el7.noarch.rpm

如果上面报 file /etc/yum.repos.d/zabbix.repo from install of zabbix-release-4.1-1.el7.noarch conflicts with file from package zabbix-release-4.0-1.el7.noarch则使用
rpm -Uvh httpxxx这是一个更新命令。不仅安装了软件包,同时更新了cat /etc/yum.repos.d/zabbix.repo

刚才我们提到yum会从一个资源库(repository)中下载并安装软件包,zabbix.repo,指的就是资源库,它的路径在/etc/yum.repos.d/下
cat /etc/yum.repos.d/zabbix.repo如下:

[zabbix]
name=Zabbix Official Repository - $basearch
baseurl=http://repo.zabbix.com/zabbix/4.0/rhel/7/$basearch/
enabled=1
gpgcheck=1
gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-ZABBIX-A14FE591

[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

安装Zabbix server,Web前端,agent

yum install -y zabbix-server-mysql zabbix-web-mysql zabbix-agent

注意上面省略了版本号。默认下载cat /etc/yum.repos.d/zabbix.repo里baseurl指定的url下版本。使用浏览器打开http://repo.zabbix.com/zabbix/4.0/rhel/7/可以看到各个版本,如果需要特殊版本,需要带个版本号,比如
yum install -y zabbix-server-mysql-4.2.0-0.1alpha1.el7.x86_64.rpm

安装mysql数据库里

这里其实安装的是mariadb数据库,MariaDB是MySQL的分支,也是它的进阶产品,未来很有可能替代MySQL,MariaDB的API和协议兼容MySQL,另外又添加了一些功能。外部看,其它两者的操作方式都一样的。
由于我试了很多方式,以二进制方式安装mysql,到最后一步zabbix web操作界面的Configure DB connection步骤时,报Can’t connect to local MySQL server through socket '/var/lib/mysql/mysql.sock,试了多种方式都不行,最后试了一下mariadb,一次就成功,所以使用了。其实两者数据库一样的。

安装mariadb-server

yum install -y mariadb-server

启动服务和开机启动

systemctl start mariadb.service
systemctl enable mariadb.service

登陆

mysql -u root -p

可参考阿里云centos环境之mysql安装(二)修改root密码和开放外网访问能力。

创建名为zabbix数据库里并初始化化数据库

在mysql那台机器上登陆数据库

mysql -uroot -p
输入密码

创建zabbix数据库并赋予用户zabbix从任何ip上都能连接mysql的权限。

create database zabbix character set utf8 collate utf8_bin;
grant all privileges on zabbix.* to zabbix@'localhost' identified by 'root';#密码设为root
flush privileges;

使用grant all privileges on来更改用户对应某些库的远程权限,如果没有这个用户,就在mysql.user表里添加这个帐号。
语法模板:grant all privileges on 库名.表名 to ‘用户名’@‘IP地址’ identified by ‘密码’;

初始化zabbix数据库,命令不是mysql命令行直接,而在是shell终端执行
解压脚本,使用zabbix登陆mysql,并在zabbix数据库时执行sql脚本

zcat /usr/share/doc/zabbix-server-mysql*/create.sql.gz | mysql -uzabbix -p zabbix

系统将提示您输入新创建的密码,create.sql.gz是zabbix提供的初始化脚本

有可能用户登陆失败,我说是有可能。在上面设置的密码没弄成功,其实密码是空,这时直接回车试试。

为Zabbix server配置数据库

编辑配置文件

 vi /etc/zabbix/zabbix_server.conf

修改密码

DBPassword=password

确认数据库用户及密码

grep -n '^'[a-Z] /etc/zabbix/zabbix_server.conf 

将时区设为亚洲上海

vi  /etc/httpd/conf.d/zabbix.conf

# php_value date.timezone Europe/Riga->php_value date.timezone Asia/Shanghai

永久关闭setenforce防火墙和iptables

  1. 查看enforce状态:getenforce
  2. 编辑/etc/selinux/config文件,将SELINUX=enforcing改成SELINUX=disabled。重启

临时关闭setenforce 0

  1. 如果使用iptables:systemctl stop iptables
    如果使用firewalld: systemctl stop firewalld

启动Zabbix server和agent进程

启动Zabbix server和agent进程,并为它们设置开机自启:

systemctl restart zabbix-server zabbix-agent httpd
systemctl enable zabbix-server zabbix-agent httpd

查看zabbix-server日志

less /var/log/zabbix/zabbix_server.log

查看版本

进入Zabbix Server 二进制文件的路径/usr/sbin目录,执行

zabbix_server -V

修改zabbix默认端口

在安装zabbix server的时候默认就安装了apache,zabbix依靠apache提供的web服务,修改Zabbix的浏览器访问端口,就是修改apache的服务端口(默认端口:80)

  1. 编辑httpd.conf文件:vim /etc/httpd/conf/httpd.conf

  2. 修改默认的侦听端口

 Listen 8008
  1. 重启apache服务,使配置生效: systemctl restart httpd

配置Zabbix前端

访问http://server_ip_or_name/zabbix。
阿里云centos环境之Zabbix安装(十八)_第1张图片

点击Next step,配置如下
阿里云centos环境之Zabbix安装(十八)_第2张图片

其实Database host填localhost而不是127.0.0.1,界面上127.0.0.1是因为在安装mysql数据库时由于使用localhost连接不成功换成127.0.0.1就连接成功时的情况,小概念事件。这里使用mariadb,故还是换成localhost。一直点next即可。
这些配置信息在/etc/zabbix/web/zabbix.conf.php里。如果删除这个文件,而界面就又切回初始化界面了。

英文换成中文界面

默认是英文界面,点击右上角人物图标
在这里插入图片描述
语言选项选中文(zh_CN),更新按钮即可。
阿里云centos环境之Zabbix安装(十八)_第3张图片

默认登陆用户名和密码:Admin/zabbix或Zabbix/zabbix

查看主机状态

配置->主机查看zabbix server状态,如果ZBX显示绿色,则zabbix server运行正常,如果是红色ZBX表示失败,此时将鼠标移动到红色Z上,会有具体的提示。
阿里云centos环境之Zabbix安装(十八)_第4张图片

这里需要注意,在上图里我添加了模板了,如果没给主机添加模板,后面ZBX始终是灰色的,将Windows_A加入了zabbix的监控范围,但是并没有对它进行任何实际的监控就是灰色

卸载zabbix

# 查看包名
rpm -qa|grep zabbix
#删除包,多个用空格间隔
yum remove -y 包名

zabbix连接mysql5.7

后面想了万一数据库已经在centos上安装了,总不能再安装一个mariadb数据库了吧。
所以又测试了mysql5.7,发现可以。
至少我能知道zabbix4X与mysql5.7是匹配的。
打开/etc/my.cnf


[mysqld]
datadir=/var/lib/mysql
socket=/var/lib/mysql/mysql.sock

socket默认配置是socket=/var/lib/mysql/mysql.sock,可能是这原因。

zabbix连接远程服务器

测试一下zabbix连接的数据库放在另一台机器上效果。
虚拟机:192.168.2.33上安装zabbix,版本4.1
虚拟机:192.168.2.34上安装mysql,版本5.7
文件/etc/zabbix/zabbix_server.conf 相关配置如下

[root@localhost zabbix]# grep -n '^'[a-Z] /etc/zabbix/zabbix_server.conf 
38:LogFile=/var/log/zabbix/zabbix_server.log
49:LogFileSize=0
72:PidFile=/var/run/zabbix/zabbix_server.pid
82:SocketDir=/var/run/zabbix
91:DBHost=192.168.2.34
100:DBName=zabbix
116:DBUser=root
124:DBPassword=root
131:DBSocket=/usr/local/mysql/mysql.sock
356:SNMPTrapperFile=/var/log/snmptrap/snmptrap.log
473:Timeout=4
516:AlertScriptsPath=/usr/lib/zabbix/alertscripts
527:ExternalScripts=/usr/lib/zabbix/externalscripts
563:LogSlowQueries=3000

最主要的是

91:DBHost=192.168.2.34
116:DBUser=root
124:DBPassword=root

有一点要注意,zabbix-server必需安装在linux上,而远程连接的数据必需是安装在linux系统上的,不能安装在windows上。因为zabbix会找不到mysql.sock文件

参考:
官文
Zabbix4.0中文手册
zabbix从放弃到入门(1):zabbix概念
zabbix从放弃到入门(2):zabbix安装

你可能感兴趣的:(zabbix,技术工具,云服务器)