前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >从 1 到 0 构建博客项目(5) --ZABBIX安装与使用

从 1 到 0 构建博客项目(5) --ZABBIX安装与使用

原创
作者头像
大大刺猬
修改2020-11-02 10:46:48
1.2K0
修改2020-11-02 10:46:48
举报
文章被收录于专栏:大大刺猬大大刺猬

教程前阅读:

监控软件有很多,老牌代表:zabbix 新牌代表:prometheus.

zabbix采用的是CS模式,即有客户端和服务端,一般是由客户端主动发送采集的数据的(降低服务端的压力.)

其它的概念我就不说了,没得意思,直接上手体验体验更好,也可以看官网的描述.

本篇主要介绍zabbix的安装和使用,在此之前,你需要先准备lnmp环境2套, 一套用来作为zabbix服务端,另一套作为zabbix被监控端

代码语言:javascript
复制
#如果要启用php的--enable-mbstring  则需要安装如下依赖
  yum install https://mirrors.tuna.tsinghua.edu.cn/epel/7/x86_64/Packages/o/oniguruma-devel-6.8.2-1.el7.x86_64.rpm https://mirrors.tuna.tsinghua.edu.cn/epel/7/x86_64/Packages/o/oniguruma-6.8.2-1.el7.x86_64.rpm -y

不会lnmp的可以看上一篇https://cloud.tencent.com/developer/article/1728991

zabbix官网:https://www.zabbix.com/

zabbix教程:https://www.zabbix.com/documentation/current/manual

zabbix是开源免费的. 本系列教程使用的软件尽量以开源的为主.

特别说明:zabbix服务端我们使用编译安装, 被监控端就使用rpm包安装了,简单点.

1.zabbix服务端安装:

1.1下载源码包

截至本教程时间(2020.11.1)最新版本为5.2 , 但是我们使用官方长期支持版本5.0TLS

官方的yum安装教程:https://www.zabbix.com/download?zabbix=5.0&os_distribution=centos&os_version=7&db=mysql&ws=nginx

官方源码安装教程:https://www.zabbix.com/documentation/5.0/manual/installation/install

zabbix5.0.5源码下载:https://cdn.zabbix.com/zabbix/sources/stable/5.0/zabbix-5.0.5.tar.gz

这速度慢的很..........

后续有时间的话,教大家根据.src.rpm定制rpm. 感兴趣的同学可以先自己尝试(命令提示:rpmbuild):https://mirrors.tuna.tsinghua.edu.cn/zabbix/zabbix/5.0/rhel/7/SRPMS/zabbix-5.0.5-1.el7.src.rpm

1.2 编译安装:

1.2.1解压,创建相应用户

https://www.zabbix.com/documentation/5.0/manual/installation/install

代码语言:javascript
复制
shell> tar -xvf zabbix-5.0.5.tar.gz
shell> cd zabbix-5.0.5
shell> groupadd --system zabbix
shell> useradd --system -g zabbix -d /usr/lib/zabbix -s /sbin/nologin -c "Zabbix Monitoring System" zabbix
shell> mkdir -m u=rwx,g=rwx,o= -p /usr/lib/zabbix
shell> chown zabbix:zabbix /usr/lib/zabbix

1.2.2 创建zabbix-server所使用的数据库

https://www.zabbix.com/documentation/5.0/manual/appendix/install/db_scripts

代码语言:javascript
复制
shell> mysql -uroot -p123456
mysql> create database zabbix character set utf8 collate utf8_bin;
mysql> create user 'zabbix'@'localhost' identified by '123456';
mysql> grant all privileges on zabbix.* to 'zabbix'@'localhost';
mysql> flush privileges;
mysql> quit;

1.2.3 导入zabbix数据

代码语言:javascript
复制
shell> cd database/mysql
shell> mysql -uzabbix -p123456 zabbix < schema.sql
shell> mysql -uzabbix -p123456 zabbix < images.sql
shell> mysql -uzabbix -p123456 zabbix < data.sql
shell> cd ../../

1.2.4 配置zabbix-server

安装依赖

代码语言:javascript
复制
yum install net-snmp-devel https://mirrors.tuna.tsinghua.edu.cn/centos/7.8.2003/os/x86_64/Packages/libevent-devel-2.0.21-4.el7.x86_64.rpm -y  #根据你选择的功能安装相应的依赖

配置

代码语言:javascript
复制
./configure --enable-server --enable-agent --with-mysql=/usr/local/mysql/bin/mysql_config --with-net-snmp --with-libcurl

配置成功后,会列出你的配置:

1.2.5编译并安装

代码语言:javascript
复制
make && make install

1.2.6 后续配置

拷贝zabbix-server和zabbix-agent服务到/etc/init.d下面 (方便用系统服务管理)

代码语言:javascript
复制
cp misc/init.d/fedora/core/zabbix_* /etc/init.d/

拷贝UI到/var/www目录

代码语言:javascript
复制
mkdir -p /var/www/zabbix
cp -ra ui/*  /var/www/zabbix
chown -R php:php /var/www/zabbix

配置zabbix_server.conf

代码语言:javascript
复制
cat << EOF > /usr/local/etc/zabbix_server.conf
LogFile=/tmp/zabbix_server.log
DBHost=localhost
DBName=zabbix
DBUser=zabbix
DBPassword=123456
Timeout=10
LogSlowQueries=3000
CacheSize=256M
TrendCacheSize=256M
ValueCacheSize=256M
StartTrappers=30
StartPollers=10
EOF

1.2.7启动zabbix_server

代码语言:javascript
复制
systemctl start zabbix_server

如果报错:

error while loading shared libraries: libmysqlclient.so.20: cannot open shared object file: No such file or directory

则需要做个软连接后,再重启即可:

代码语言:javascript
复制
ln -s /usr/local/mysql/lib/libmysqlclient.so.20  /usr/lib
ldconfig
systemctl restart zabbix_server

1.2.8配置nginx并重启

nginx的server配置如下

server {

listen 80;

index index.php index.html index.htm;

root /var/www;

location /zabbix {

index index.php index.html index.htm;

root /var/www;

}

location ~ \.php$ {

fastcgi_index index.php;

fastcgi_pass 127.0.0.1:9000;

include fastcgi_params;

fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;

fastcgi_param SCRIPT_NAME $fastcgi_script_name;

}

}

代码语言:javascript
复制
setenforce 0   #关闭selinux,不然访问不了
systemctl reload nginx

浏览器输入http://192.168.1.41/zabbix

有2个警告,忽略掉,我们目前不需要这2个功能
有2个警告,忽略掉,我们目前不需要这2个功能
这些大家都懂,我就不解释了
这些大家都懂,我就不解释了
然后登录就行,默认账号密码: Admin/zabbix
然后登录就行,默认账号密码: Admin/zabbix

注意:默认账号密码: Admin/zabbix

这就是主要界面:

和4.0的界面有很大区别
和4.0的界面有很大区别

第一次登录之后,建议修改默认账号的密码,最好是添加个其它用户

也可以设置语言 但是要求php开启gettext才行,我们这个环境没有开,所以就英文吧.

2.zabbix客户端(zabbix-agent)安装

专门监控java的话用zabbix-java-gateway

客户端我们使用rpm包安装, 但是官网的下载速度较慢, 所以我们还是使用清华大学源下载.

zabbix-agent下载地址:https://mirrors.tuna.tsinghua.edu.cn/zabbix/zabbix/5.0/rhel/7/x86_64/zabbix-agent-5.0.5-1.el7.x86_64.rpm

zabbix-agent2下载地址:https://mirrors.tuna.tsinghua.edu.cn/zabbix/zabbix/5.0/rhel/7/x86_64/zabbix-agent2-5.0.5-1.el7.x86_64.rpm

zabbix-agent2是zabbix-agent的增强版. 本次教程就先使用zabbix-agent吧.

2.1 安装zabbix-agent

代码语言:javascript
复制
yum install https://mirrors.tuna.tsinghua.edu.cn/zabbix/zabbix/5.0/rhel/7/x86_64/zabbix-agent-5.0.5-1.el7.x86_64.rpm -y

2.2 配置zabbix-agent

代码语言:javascript
复制
cat << EOF /etc/zabbix/zabbix_agentd.conf
idFile=/var/run/zabbix/zabbix_agentd.pid
LogFile=/var/log/zabbix/zabbix_agentd.log
LogFileSize=0
Server=192.168.1.41
ServerActive=192.168.1.41
Hostname=192.168.1.31
Include=/etc/zabbix/zabbix_agentd.d/*.conf
EOF

2.3 启动zabbix-agent并设置开机自启

代码语言:javascript
复制
systemctl start zabbix-agent
systemctl enable zabbix-agent

3. 服务端定制监控项

3.1 添加主机

点击右上角添加主机
点击右上角添加主机

3.2 添加模板

右上角添加模板
右上角添加模板
单击模板配置监控项
单击模板配置监控项

3.3 配置监控项

创建监控项

key值可以自定义,也可以用zabbix预先定义好的, 文末介绍自定义的
key值可以自定义,也可以用zabbix预先定义好的, 文末介绍自定义的

3.4 配置图形

3.5 关联主机和模板

配置好之后就是这样的
配置好之后就是这样的

TIPS: 没得监控项的时候 Availability 状态是看不见的

3.6 看最新监控

点击画图
点击画图

3.7 设置触发器

3.8 还可以设置相应的动作比如执行脚本(几乎万能),发送邮件等.后面再讲吧,接下来讲讲自定义监控项

4.自定义监控项

只要可以自定义,那很多东西都能监控了,比如应用,数据库等都没得问题

4.1 客户端定制脚本(需重启才会生效):

代码语言:javascript
复制
cat << EOF >> /etc/zabbix/zabbix_agentd.d/custom1.conf
UserParameter=custom.process.user[*], echo $[ $(ps -U $1 | wc -l) - 1 ]
EOF
systemctl restart zabbix-agent

4.2服务端配置监控项和图形

4.3 查看:

下一篇讲ansible 批量部署 感觉离自建博客系统越来越远了

原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。

如有侵权,请联系 cloudcommunity@tencent.com 删除。

原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。

如有侵权,请联系 cloudcommunity@tencent.com 删除。

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • 教程前阅读:
  • 1.zabbix服务端安装:
    • 1.1下载源码包
      • 1.2 编译安装:
        • 1.2.1解压,创建相应用户
        • 1.2.2 创建zabbix-server所使用的数据库
        • 1.2.3 导入zabbix数据
        • 1.2.4 配置zabbix-server
        • 1.2.5编译并安装
        • 1.2.6 后续配置
        • 1.2.7启动zabbix_server
        • 1.2.8配置nginx并重启
    • 2.zabbix客户端(zabbix-agent)安装
      • 2.1 安装zabbix-agent
        • 2.2 配置zabbix-agent
          • 2.3 启动zabbix-agent并设置开机自启
          • 3. 服务端定制监控项
            • 3.1 添加主机
              • 3.2 添加模板
                • 3.3 配置监控项
                  • 3.4 配置图形
                    • 3.5 关联主机和模板
                      • 3.6 看最新监控
                        • 3.7 设置触发器
                          • 3.8 还可以设置相应的动作比如执行脚本(几乎万能),发送邮件等.后面再讲吧,接下来讲讲自定义监控项
                          • 4.自定义监控项
                            • 4.1 客户端定制脚本(需重启才会生效):
                              • 4.2服务端配置监控项和图形
                                • 4.3 查看:
                                领券
                                问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档