努力挣扎的生活 努力挣扎的生活
  • 前端文章

    • JavaScript
  • 学习笔记

    • 《JavaScript教程》
    • 《JavaScript高级程序设计》
    • 《ES6 教程》
    • 《Vue》
    • 《React》
    • 《TypeScript 从零实现 axios》
    • 《Git》
    • TypeScript
    • JS设计模式总结
  • 运维基础
  • 监控
  • 日志系统
  • gitlab安装
  • jenkins安装和管理
  • Jenkins工具集成
  • pipeline流水线
  • Dcoker
  • Kubernetes
  • Nexus
  • Rancher
  • Prometheus
  • ELK(EFK)
  • 虚拟化
  • Mysql
  • PostgreSQL
  • Redis
  • MongoDB
  • clickhouse
关于
  • 分类
  • 标签
  • 归档
  • 收藏
  • 更多
GitHub (opens new window)

yangfk

瑟瑟发抖的小运维
  • 前端文章

    • JavaScript
  • 学习笔记

    • 《JavaScript教程》
    • 《JavaScript高级程序设计》
    • 《ES6 教程》
    • 《Vue》
    • 《React》
    • 《TypeScript 从零实现 axios》
    • 《Git》
    • TypeScript
    • JS设计模式总结
  • 运维基础
  • 监控
  • 日志系统
  • gitlab安装
  • jenkins安装和管理
  • Jenkins工具集成
  • pipeline流水线
  • Dcoker
  • Kubernetes
  • Nexus
  • Rancher
  • Prometheus
  • ELK(EFK)
  • 虚拟化
  • Mysql
  • PostgreSQL
  • Redis
  • MongoDB
  • clickhouse
关于
  • 分类
  • 标签
  • 归档
  • 收藏
  • 更多
GitHub (opens new window)
  • 运维基础

  • 监控

    • zabbix 部署
      • Zabbix 介绍
      • 安装zabbix-3.4
        • 安装依赖,创建用户
        • 下载编译zabbix server端
        • 创建zabbix数据库
        • 安装和配置nginx,php
      • zabbix 登录页面
        • 第一次登录配置zabbix信息
        • 登录
      • 配置zabbix_server
      • 安装agent##
        • 配置yum源,安装agent
      • 安装zabbix-4.0
        • 改用nginx 代理
      • zabbix_get 命令参数说明
      • 所需安装包下载地址。。。
    • zabbix 服务自动注册与发现
    • zabbix 告警 (灾难电话通知)
    • grafana 部署
    • grafana 接入zabbix数据
    • prometheus 安装
    • prometheus 数据接入grafana
  • 日志系统

  • 安全记录

//
  • 运维
  • 监控
yangfk
2019-08-25

zabbix 部署

//

# Zabbix 介绍

zabbix 下载页面🤞🤞 (opens new window)

zabbix简介 zabbix是一个基于WEB界面的提供分布式系统监视以及网络监视功能的企业级的开源解决方案。

zabbix能监视各种网络参数,保证服务器系统的安全运行;并提供灵活的通知机制以让系统管理员快速定位/解决存在的各种问题。

zabbix由2部分构成,zabbix server与可选组件zabbix agent。

zabbix server可以通过SNMP,zabbix agent,ping,端口监视等方法提供对远程服务器/网络状态的监视,数据收集等功能,它可以运行在Linux,Solaris,HP-UX,AIX,Free BSD,Open BSD,OS X等平台上。

zabbix 组件

zabbix由以下几个组件部分构成:

Zabbix Server: 负责接收agent发送的报告信息的核心组件,所有配置,统计数据及操作数据均由其组织进行。

Database Storage: 专用于存储所有配置信息,以及由zabbix收集的数据。

Web interface: zabbix的GUI接口,通常与Server运行在同一台主机上。

Proxy: 可选组件,常用于分布监控环境中,代理Server收集部分被监控端的监控数据并统一发往Server端(实现分布式监控专用组件非必要组件,被监控服务器过多或者跨机房可以使用此组件。)

zabbix监控环境中相关术语

主机(host): 要监控的网络设备,可由IP或DNS名称指定

主机组(host group): 主机的逻辑容器,可以包含主机和模板,但同一个组织内的主机和模板不能互相链接;主机组通常在给用户或用户组指派监控权限时使用

监控项(item): 一个特定监控指标的相关的数据;这些数据来自于被监控对象;item是zabbix进行数据收集的核心,相对某个监控对象,每个item都由”key”标识

触发器(trigger): 一个表达式,用于评估某监控对象的特定item内接收到的数据是否在合理范围内,也就是阈值;接收的数据量大于阈值时,触发器状态将从”OK”转变为”Problem”,当数据再次恢复到合理范围,又转变为”OK”

事件(event): 触发一个值得关注的事情,比如触发器状态转变,新的agent或重新上线的agent的自动注册等

动作(action): 指对于特定事件事先定义的处理方法,如发送通知,何时执行操作

报警升级(escalation): 发送警报或者执行远程命令的自定义方案,如每隔5分钟发送一次警报,共发送5次等

媒介(media): 发送通知的手段或者通道,如Email、Jabber或者SMS等

通知(notification): 通过选定的媒介向用户发送的有关某事件的信息

远程命令(remote command): 预定义的命令,可在被监控主机处于某特定条件下时自动执行

模板(template): 用于快速定义被监控主机的预设条目集合,通常包含了item、trigger、graph、screen、application以及low-level discovery rule;模板可以直接链接至某个主机

应用(application): 一组item的集合

web场景(web scennario): 用于检测web站点可用性的一个或多个HTTP请求

前端(frontend): Zabbix的web接口

# 安装zabbix-3.4

# 安装依赖,创建用户

依赖安装

yum -y install mysql-devel net-snmp-devel libevent-devel libxml2 libxml2-devel curl-devel

创建zabbix用户

groupadd zabbix
useradd -g zabbix -s /sbin/nologin zabbix
1
2

# 下载编译zabbix server端

zabbix下载地址 (opens new window)

cd /opt
#可能需要浏览器下载
wget https://phoenixnap.dl.sourceforge.net/project/zabbix/ZABBIX%20Latest%20Stable/3.4.15/zabbix-3.4.15.tar.gz

tar xf zabbix-3.4.15.tar.gz
cd zabbix-3.4.15/
./configure --prefix=/opt/zabbix/ --enable-server --enable-agent --enable-proxy --with-mysql --with-net-snmp --with-libcurl --with-libxml2

make && make install

1
2
3
4
5
6
7
8
9
10

# 创建zabbix数据库

我这里用的mysql数据库

mysql安装

z_sql.png

#进入数据库
shell> mysql -uroot -p'password'
#创建zabbix数据库  
mysql> create database zabbix character set utf8 collate utf8_bin;
#创建zabbix数据库的用户
mysql> grant all privileges on zabbix.* to zabbix@localhost identified by 'yfk123456';
mysql> quit;
##导入zabbix数据库默认的模板*必须安照顺序导入否则不成功
shell> cd /opt/zabbix-3.4.15/database/mysql
shell> mysql -uzabbix -p'yfk123456' zabbix < schema.sql
shell> mysql -uzabbix -p'yfk123456' zabbix < images.sql
shell> mysql -uzabbix -p'yfk123456' zabbix < data.sql
1
2
3
4
5
6
7
8
9
10
11
12

# 安装和配置nginx,php

需要安装nginx 和php,做fastcgi_pass

nginx安装地址

php安装地址

php7.2.6 (opens new window)

配置php文件

cp -a /opt/zabbix-3.4.15/frontends/php /opt/zabbix/frontends/

配置nginx

cd /etc/nginx/sites-enabled/

cat >zabbix.yfklife.cn.conf<<'OPO'
server
{
    listen       80;
    server_name zabbix.yfklife.cn;
    root  /opt/zabbix/frontends;
    index index.html index.php index.html;

    location /
    {
        if ( !-f $request_filename ) {
        rewrite  ^(.*)$  /index.php?$1  last;
        break;
        }
    }

    location ~ .*\.php?$
    {
        fastcgi_ignore_client_abort on;
        fastcgi_pass     127.0.0.1:9000;
        fastcgi_index    index.php;
        include          fastcgi.conf;
        index            index.php;
    }

    error_page  404 = /404.html;
    location ~ "\.(js|ico|gif|jpg|png|css)$" {
    expires 1w;
    }

    location ~ ^/status/ {
    stub_status on;
    access_log off;
    }
    
    access_log  /var/log/nginx/zabbix.yfklife.cn.log main;
}
OPO

#重载nginx

nginx -t && nginx -s reload
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44

# zabbix 登录页面

DNS 解析域名,访问

http://zabbix.yfklife.cn

# 第一次登录配置zabbix信息

然后一路点击 Next step和Finish ,省略。。。。。。

z_setup.png

  • 按照提示修改/etc/php.ini 配置

z_setup.png

  • 配置数据库连接信息

z_setup.png

z_setup.png

  • 配置zabbix连接配置信息文件

把下载的文件放入到指定目录,授权:chown zabbix:zabbix zabbix.conf.php

z_setup.png

# 登录

  • 这是Zabbix的“欢迎”界面。输入用户名 Admin 以及密码 zabbix 以作为Zabbix超级用户登陆。

  • zabbix 登录页

z_setup.png

  • zabbix 主页 z_setup.png

# 配置zabbix_server

配置zabbix_server.conf

#添加启动文件,修改启动执行目录
cp  -a /opt/zabbix-3.4.15/misc/init.d/fedora/core/zabbix_server /etc/init.d/zabbix_server
sed -i 's#BASEDIR=/usr/local#BASEDIR=/opt/zabbix#g' /etc/init.d/zabbix_server 

#创建zabbix server 服务日志目录,启动异常,查看当前目录下的日志
mkdir /opt/zabbix/logs && chown -R zabbix:zabbix /opt/zabbix/logs

#配置zabbix conf
cd /opt/zabbix/etc
mv zabbix_server.conf zabbix_server.conf-bak

cat >zabbix_server.conf<<'OPO'
LogFile=/opt/zabbix/logs/zabbix_server.log
PidFile=/opt/zabbix/logs/zabbix_server.pid
DBHost=localhost
ListenPort=10051
DBName=zabbix
DBUser=zabbix
DBPassword=yfk123456
DBSocket=/tmp/mysql.sock
Include=/opt/zabbix/etc/zabbix_server.conf.d/*.conf
StartPollers=12
AlertScriptsPath=/opt/zabbix/share/alertscripts/
StartDiscoverers=5
LogSlowQueries=3000
Timeout=4
OPO
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27

开机自启动 systemctl enable zabbix_server

重启zabbix_server /etc/init.d/zabbix_server restart

# 安装agent##

# 配置yum源,安装agent

把地址中的7改成6就是centos6 的yum源

#添加源
cat  >/etc/yum.repos.d/zabbix-agent.repo<<'OPO'
[zabbix]
name=Zabbix Official Repository - $basearch
baseurl=http://repo.zabbix.com/zabbix/3.4/rhel/7/$basearch/
enabled=1
gpgcheck=0
OPO

#rpm安装zabbix-agent
rpm -ivh  http://repo.zabbix.com/zabbix/3.4/rhel/7/x86_64/zabbix-agent-3.4.15-1.el7.x86_64.rpm 
1
2
3
4
5
6
7
8
9
10
11

zabbix_agentd.conf 配置默认即可

cat >/etc/zabbix/zabbix_agentd.conf<<'OPO'
ListenIP=127.0.0.1
UnsafeUserParameters=1
PidFile=/var/run/zabbix/zabbix_agentd.pid
LogFile=/var/log/zabbix/zabbix_agentd.log
LogFileSize=0
Server=127.0.0.1
ServerActive=127.0.0.1
Hostname=Zabbix server
Include=/etc/zabbix/zabbix_agentd.d/*.conf
OPO
1
2
3
4
5
6
7
8
9
10
11

启动:systemctl restart zabbix-agent.service

  • 开启server 本机监控

z_setup.png


查看数据

z_setup.png

# 安装zabbix-4.0

rpm -Uvh https://repo.zabbix.com/zabbix/4.0/rhel/7/x86_64/zabbix-release-4.0-2.el7.noarch.rpm
yum clean all
yum install zabbix-server-mysql zabbix-web-mysql zabbix-agent

 # mysql -uroot -p
password
mysql> create database zabbix character set utf8 collate utf8_bin;
mysql> create user zabbix@localhost identified by 'password';
mysql> grant all privileges on zabbix.* to zabbix@localhost;
mysql> quit;

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

# grep DBPassword=password /etc/zabbix/zabbix_server.conf
DBPassword=password

# grep date.timezone /etc/httpd/conf.d/zabbix.conf
php_value date.timezone Asia/Shanghai

systemctl restart zabbix-server zabbix-agent
systemctl enable zabbix-server zabbix-agent
 
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22

# 改用nginx 代理

引用上面3.4.15 的nginx 配置 (这里是在我使用httpd部署完,改为nginx 代理)

跳转nginx配置

安装php-fpm 7.X ,修改对应参数

systemctl stop httpd #留意业务是否还有别的服务使用的httpd
systemctl disable httpd
yum install nginx -y
#拷贝上面的nginx 配置到/etc/nginx/conf.d/
nginx -s reload

mdkir /opt/zabbix/
cp -a  /usr/share/zabbix/ /opt/zabbix/frontends
chown -R www:www /etc/zabbix/web/ #我这里php启动用户是www,所以授权用户www

1
2
3
4
5
6
7
8
9
10
  • zabbix_server.conf
[root@basic zabbix]# cat zabbix_server.conf
LogFile=/var/log/zabbix/zabbix_server.log
PidFile=/run/zabbix/zabbix_server.pid  #与systemd 对应
DBHost=localhost
ListenPort=10051
DBName=zabbix
DBUser=zabbix
DBPassword=yfk123456
DBSocket=/tmp/mysql.sock
Include=/etc/zabbix/zabbix_server.conf.d/*.conf
StartPollers=12
AlertScriptsPath=/etc/zabbix/zabbix/alertscripts/
StartDiscoverers=5
LogSlowQueries=3000
Timeout=4
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15

访问:http://server_ip_or_name/zabbix 或者:http://zabbix.yfklife.cn/

# zabbix_get 命令参数说明

yum安装:yum install zabbix-get -y

ping 主机:zabbix_get -s 192.168.14.144 -p 10050 -k agent.ping

参数 说明
-s 客户端的IP
-p 客户端端口,默认10050
-k 监控项的key(可以看zabbix里面监控项的键值,来测试)

# 所需安装包下载地址。。。


4.0
wget https://repo.zabbix.com/zabbix/4.0/rhel/7/x86_64/zabbix-release-4.0-2.el7.noarch.rpm
wget https://repo.zabbix.com/zabbix/4.0/rhel/7/x86_64/zabbix-agent-4.0.35-1.el7.x86_64.rpm

3.4
wget https://download.yfklife.cn/blog/monitor/zabbix/zabbix-3.4.15.tar.gz
wget https://download.yfklife.cn/blog/monitor/zabbix/zabbix-agent-3.4.15-1.el7.x86_64.rpm
1
2
3
4
5
6
7
8
//
点击 -->> 给博主买咖啡 (opens new window)
上次更新: 2022/01/23, 23:04:14
minio分布式文件存储
zabbix 服务自动注册与发现

← minio分布式文件存储 zabbix 服务自动注册与发现→

最近更新
01
Pod探针
12-20
02
kubeadm证书替换
12-20
03
kubeadm安装k8s(版本1.26.0)
12-16
更多文章>
Theme by Vdoing | Copyright © 2019-2023 yangfk | 湘ICP备2021014415号-1
  • 跟随系统
  • 浅色模式
  • 深色模式
  • 阅读模式
×
//