前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >探索 Zabbix 5.0 LTS -- CentOS 8 (一)

探索 Zabbix 5.0 LTS -- CentOS 8 (一)

作者头像
Kevin song
发布2020-07-14 16:11:42
1.4K0
发布2020-07-14 16:11:42
举报

2020.05 期待已久的 Zabbix 5.0 LTS 版本正式发布,全新的 Zabbix 5.0 LTS 对前端 web 进行重构带来全新的用户体验。发布基于 Go语言的下一代 Zabbix Agent2 和安全性全面升级等众多特性。接下来将介绍在 CentOS 8 搭建 Zabbix 5.0 LTS 和 Agent 2 以及 Zabbix 5.0 LTS 平台的简单使用。

What's New in Zabbix 5.0 LTS

https://www.zabbix.com/whats_new_5_0

Zabbix 5.0 LTS 版本要求

PHP

PHP ≥ 7.2.0

数据库版本

MySQL ≥ 5.5.62

MariaDB ≥ 10.0.37

PostgreSQL ≥ 9.2.24

Oracle ≥ 11.2

系统版本

代码语言:javascript
复制
[root@zabbix-server /]# cat  /etc/redhat-release 
CentOS Linux release 8.1.1911 (Core)

selinux

代码语言:javascript
复制
sed -i '/SELINUX/s/enforcing/disabled/' /etc/selinux/config
setenforce   0

系统软件包

代码语言:javascript
复制
dnf install sysstat traceroute  net-tools telnet  tree  \
net-snmp-utils  vim lrzsz tcpdump wget git zip tar

firewall

代码语言:javascript
复制
firewall-cmd    --add-port=10050/tcp --permanent
firewall-cmd    --add-port=10051/tcp  --permanent
firewall-cmd    --add-port=3306/tcp  --permanent
firewall-cmd    --add-service=http  --permanent
firewall-cmd    --reload

PHP

安装 php 组件

代码语言:javascript
复制
dnf install php php-opcache php-gd php-curl php-mysqlnd \
php-fpm  php-xml php-mbstring php-bcmath php-json php-ldap 

php 优化

代码语言:javascript
复制
vim /etc/php.ini 
expose_php = Off               #禁止显示php版本的信息
short_open_tag = On            #取消前面的;,修改为On。表示支持php短标签
cgi.fix_pathinfo=1             #将注释去掉,开启PHP的pathinfo伪静态功能。
post_max_size = 100M           #单提交的最大数据,此项不是限制上传单个文件的大小,而是针对整个表单的提交数据进行限制的,默认8M
upload_max_filesize = 50M      #上载文件的最大许可大小 ,默认2M
max_execution_time = 600       #脚本运行的最长时间,默认30秒
max_input_time = 600           #脚本可以消耗的时间,默认60秒
memory_limit = 256M            #脚本运行最大消耗的内存,根据你的需求更改数值,默认128M
date.timezone = asia/shanghai #设置时区

启动 php-fpm

代码语言:javascript
复制
systemctl   start  php-fpm
systemctl   enable   php-fpm

Mariadb

安装Mariadb

代码语言:javascript
复制
dnf install mariadb-server mariadb -y
systemctl   start  mariadb && systemctl   enable   mariadb
mysql_secure_installation

Zabbix 数据库授权

代码语言:javascript
复制
create database zabbix character set utf8 collate utf8_bin;
grant all privileges on zabbix.* to zabbix@localhost identified by 'zabbix@zabbix';
grant all privileges on zabbix.* to zabbix@127.0.0.1 identified by 'zabbix@zabbix';
flush privileges;
show databases;
select host,user,plugin from mysql.user;

Zabbix Server

添加 aliyun zabbix 仓库

代码语言:javascript
复制
rpm -Uvh https://mirrors.aliyun.com/zabbix/zabbix/5.0/rhel/8/x86_64/zabbix-release-5.0-1.el8.noarch.rpm
sed -i 's#http://repo.zabbix.com#https://mirrors.aliyun.com/zabbix#' /etc/yum.repos.d/zabbix.repo
dnf clean all

安装 zabbix-server-mysql zabbix-web-mysql zabbix-agent

代码语言:javascript
复制
dnf install zabbix-server-mysql zabbix-web-mysql zabbix-agent

导入 Zabbix 表结构

代码语言:javascript
复制
 zcat /usr/share/doc/zabbix-server-mysql*/create.sql.gz | mysql -uzabbix -p zabbix -h 127.0.0.1

Zabbix 配置文件

代码语言:javascript
复制
vim /etc/zabbix/zabbix_server.conf
DBHost=127.0.0.1
DBName=zabbix
DBUser=zabbix
DBPassword=zabbix@zabbix

Nginx

安装nginx

代码语言:javascript
复制
dnf install nginx

nginx 配置文件

代码语言:javascript
复制
server {
    listen       80;
    server_name  172.18.30.27;
     access_log  /var/log/nginx/access.log;
     error_log  /var/log/nginx/error.log warn;
   fastcgi_buffers 8 128k;
   fastcgi_buffer_size 128k;
    location / {
        root   /usr/share/nginx/html;
        index  index.html index.htm index.php;
    }
    error_page   500 502 503 504  /50x.html;
    location = /50x.html {
        root   /usr/share/nginx/html;
    }
    location ~ \.php$ {
        root           html;
        fastcgi_pass   unix:/run/php-fpm/www.sock;
        fastcgi_index  index.php;
        fastcgi_param  SCRIPT_FILENAME  /usr/share/nginx/html$fastcgi_script_name;
        include        fastcgi_params;
    }

启动 nginx

代码语言:javascript
复制
 nginx  -t 
 systemctl  start nginx
 systemctl enable  nginx

拷贝 /usr/share/zabbix 到 /usr/share/nginx/html 下

代码语言:javascript
复制
 cp -r /usr/share/zabbix  /usr/share/nginx/html/

测试 nginx + php

创建 info.php

代码语言:javascript
复制
cd /usr/share/nginx/html/
vim info.php
<?php
phpinfo();
?>

测试 nginx 连接 php info

代码语言:javascript
复制
http://172.18.30.27/info.php

启动 Zabbix 服务器和代理进程

代码语言:javascript
复制
systemctl start zabbix-server zabbix-agent nginx php-fpm
systemctl restart zabbix-server zabbix-agent nginx php-fpm

Zabbix Web UI

http://server_ip_or_name/zabbix

Zabbix 5.0 web 界面不能选择中文和中文乱码的问题

中文语言

安装zh_CN语言包

代码语言:javascript
复制
dnf install langpacks-zh_CN.noarch

安装 glibc-common 实现对语言包的识别

代码语言:javascript
复制
 dnf install glibc-common
#如果已安装过,需要重新安装
 dnf reinstall glibc-common

查看zh_CN语言包

代码语言:javascript
复制
locale -a | grep zh_CN

中文乱码

在Windows 系统中找到 C:\Windows\Fonts 中的楷体(常规)复制到 windows 桌面上,通过cecureFX或 lrzsz 长传在 /usr/share/zabbix/assets/fonts/ 目录下

代码语言:javascript
复制
 cd/usr/share/zabbix/fonts/ 
 ls
 graphfont.ttf simkai.ttf
 chmod 777 simkai.ttf
 cp graphfont.ttf graphfont.ttf.bak
 mv simkai.ttf graphfont.ttf
 rm -f /etc/alternatives/zabbix-web-font
 ln -s /usr/share/zabbix/assets/fonts/graphfont.ttf /etc/alternatives/zabbix-web-font

Zabbix agent 2

添加 aliyun zabbix 仓库

代码语言:javascript
复制
rpm -Uvh https://mirrors.aliyun.com/zabbix/zabbix/5.0/rhel/7/x86_64/zabbix-release-5.0-1.el7.noarch.rpm
sed -i 's#http://repo.zabbix.com#https://mirrors.aliyun.com/zabbix#' /etc/yum.repos.d/zabbix.repo
yum clean all

安装 zabbix-agent2

代码语言:javascript
复制
yum install zabbix-agent2

zabbix-agent2 配置文件

启动 zabbix-agent2

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

firewall

代码语言:javascript
复制
firewall-cmd  --add-port=10050/udp --permanent
firewall-cmd  --reload

自动注册

事件通知

邮箱告警

钉钉告警

python 环境

代码语言:javascript
复制
dnf -y install python36 python3-devel 
pip3 install  switch  -i https://mirrors.aliyun.com/pypi/simple/
pip3 install  requests -i https://mirrors.aliyun.com/pypi/simple/

钉钉告警脚本

代码语言:javascript
复制
[root@zabbix-server alertscripts]# cat dingdinggaojing.py 
#!/usr/bin/python3
# -*- coding: utf-8 -*-
import time
import requests
import json
import sys
import os

headers = {'Content-Type': 'application/json;charset=utf-8'}
api_url = "https://oapi.dingtalk.com/robot/send?access_token=bb057e70118421c046b90939015d28d7beb815963f1d"

def msg(text):
    json_text= {
     "msgtype": "text",
        "at": {
            "atMobiles": [
                ""
            ],
            "isAtAll": False
        },
        "text": {
            "content": text
        }
    }
    print (requests.post(api_url,json.dumps(json_text),headers=headers).content)

if __name__ == '__main__':
    text = sys.argv[1]
    msg(text)

[root@zabbix-server alertscripts]#

钉钉脚本测试

代码语言:javascript
复制
[root@zabbix-server alertscripts]# chmod   755 dingdinggaojing.py 
[root@zabbix-server alertscripts]# python3 dingdinggaojing.py  zabbix5.0test

Zabbix 5.0 对前端进行了重新的设计,使用侧边栏垂直菜单替换了水平菜单

Zabbix 5.0 监测栏新增主机功能模块,可查看主机的问题事件,最新数据等

Zabbix 5.0 主机中监控项新增测试按钮,对监控项可进行测试,判断该监控项是否配置正确,获取采集数据

Zabbix 5.0 SNMP 凭据参数迁移至主机接口处配置

Zabbix 5.0 支持在前端密文显示宏变量。通过下拉列表选择"Secret text"类型的宏来隐藏宏变量的值

本文参与 腾讯云自媒体分享计划,分享自微信公众号。
原始发表:2020-07-09,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 开源搬运工宋师傅 微信公众号,前往查看

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

本文参与 腾讯云自媒体分享计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
相关产品与服务
云数据库 MySQL
腾讯云数据库 MySQL(TencentDB for MySQL)为用户提供安全可靠,性能卓越、易于维护的企业级云数据库服务。其具备6大企业级特性,包括企业级定制内核、企业级高可用、企业级高可靠、企业级安全、企业级扩展以及企业级智能运维。通过使用腾讯云数据库 MySQL,可实现分钟级别的数据库部署、弹性扩展以及全自动化的运维管理,不仅经济实惠,而且稳定可靠,易于运维。
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档