前言
大家好,docker篇完结之后苦思冥想了很久不知道做什么,看了一下感觉做监控方面文章并不多,于是过来撰写一下zabbix的文章,普罗米修斯的话要后面去了,zabbix也是很有意思的一个东西,如果你没有学过可以来跟着一起学一下,这个东西比较简单,可视化,学过的话可以当作复习来看一看,废话就不多说了,直接开始正题了。
什么是监控
监控的意思就是监视,控制的意思,利用监控我们可以在一些悲剧发生之前做出提醒及时解决,防止悲剧的发生。比如机房过热,监控提醒,开启空调,防止悲剧发生。
随着用户的增多,服务随时可能会被系统oom out of memory 内存溢出,你怎么判断,web服务是因为用户访问过多,达到了瓶颈?还是程序代码bug导致的,内存过多?为了防止这种情况,我们一般都会有两手保证,一是网站上线之前进行压力测试,二是进行监控,比如这个网站最多承受3000用户访问,我们应该设置一个70%-80%的监控,当用户访问超过服务器承受能力的70%甚至80%的时候,我们就需要进行扩容了!如果不这么设置的话,等到快满了的时候再去扩容?就来不及了!
Zabbix部署
zabbix很有意思啊,两个版本,一个LTS版本会支持五年,一个标准版只支持七个月,所以官网一般都是半年一更新。这里我们就使用zabbix4.0版本了。
1.下载源,配置yum
zabbix官网 访问很慢
由于zabbix官网上下载很慢,而且访问也很慢,这里使用清华的源。
wget
地址我也给找好了,可以看url自己找一下复制链接wget也可以,用我的也可以。
然后我们解压
rpm -ivh zabbix-release-4.0-2.el7.noarch.rpm 解压完之后配置yum仓库 vim /etc/yum.repos.d/zabbix.repo 我们需要把baseurl=这一行的前面改成清华的!经过对比可以发现清华的只是前面改变了 https://mirrors.tuna.tsinghua.edu.cn/zabbix 所以我们只需要替换这里就行 %s#http://repo.zabbix.com#https://mirrors.tuna.tsinghua.edu.cn/zabbix#g 然后再把gpgcheck都改成0,最终如下 [zabbix] name=Zabbix Official Repository - $basearch baseurl=https://mirrors.tuna.tsinghua.edu.cn/zabbix/zabbix/4.0/rhel/7/x86_64/ enabled=1 gpgcheck=0 gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-ZABBIX-A14FE591 [zabbix-debuginfo] name=Zabbix Official Repository debuginfo - $basearch baseurl=https://mirrors.tuna.tsinghua.edu.cn/zabbix/zabbix/4.0/rhel/7/x86_64/debuginfo enabled=0 gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-ZABBIX-A14FE591 gpgcheck=0 [zabbix-non-supported] name=Zabbix Official Repository non-supported - $basearch baseurl=https://mirrors.tuna.tsinghua.edu.cn/zabbix/zabbix/4.0/rhel/7/x86_64/ enabled=1 gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-ZABBIX gpgcheck=0
2.安装zabbix服务端和zabbix-web前端
这里我们需要改一下镜像源为阿里的,不然会报错没有依赖
wget -O /etc/yum.repos.d/CentOS-Base.repo https://mirrors.aliyun.com/repo/Centos-7.repo yum makecache #安装服务和web yum install zabbix-server-mysql zabbix-web-mysql -y
3.安装mariadb,创建zabbix库,授权zabbix用户
这里都是指令,我们就一路顺下去。
yum install mariadb-server -y systemctl start mariadb systemctl enable mariadb mysql_secure_installation 输入这个指令之后回车,然后n,然后一路y就行了,这是删除匿名用户啥的用的 mysql MariaDB [(none)]> create database zabbix character set utf8 collate utf8_bin; MariaDB [(none)]> grant all privileges on zabbix.* to zabbix@localhost identified by '123456'; #修改字符集 建表 授权等 退出mariadb 导入zabbix表结构和初始数据 zcat /usr/share/doc/zabbix-server-mysql*/create.sql.gz | mysql -uzabbix -p123456 zabbix 检查zabbix库是否导入成功 mysql -uroot zabbix -e 'show tables' 如果出现表就是成功了
4.配置启动zabbix-server
我们这里修改一下配置文件就好
vim /etc/zabbix/zabbix_server.conf DBHost=localhost DBName=zabbix DBUser=zabbix DBPassword=123456 只需要让这四个和我的一样就行,可以:/查找。
启动zabbix-server
systemctl start zabbix-server systemctl enable zabbix-server 检查一下服务 netstat -lntup
如果可以看到zabbxi.server 那就是成功了,如果没有并且没有报错,那是说明你的服务启动了但是监听端口没有,把防火墙和selinux关闭重启试试。
setenforce 0 getenforce systemctl stop firewalld.service
如果还不行,就在zabbix的安装目录下找到etc/zabbix_server.conf文件,将ListenIP=0.0.0.0前的注释去掉
5.修改Zabbix前端的PHP配置,并启动httpd
vim /etc/httpd/conf.d/zabbix.conf 找到php_value date.timezone这一行,把时区改成 php_value date.timezone Asia/Shanghai 保存之后启动和开机自启 systemctl start httpd systemctl enable httpd
6.前端zabbix-web的安装
然后我们访问http://ip/zabbix就可以了!跟着网页的提示注册。
登录的账号密码是下面的
Admin
zabbix
后期修改zabbix数据库密码的时候,需要修改的配置文件:
/etc/zabbix/web/zabbix.conf.php
可以看到界面是这样的!