zabbix学习1--zabbix6.x单机

news2024/11/26 8:39:33

文章目录

  • 1. 环境
  • 2. MYSQL8.0
    • 2.1 单节点
    • 2.2 配置主从
  • 3. 依赖组件
  • 4. zabbix-server
  • 5. agent
    • 5.1 yum
    • 5.2 编译
  • 附录
    • my.cnf
    • JDK
    • 默认端口号

1. 环境

进入官网查看所需部署环境配置以及应用版本要求https://www.zabbix.com/documentation/current/zh/manual/installation/requirements
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

2. MYSQL8.0

2.1 单节点

# 获取mysql
wget https://dev.mysql.com/get/mysql80-community-release-el7-7.noarch.rpm 
rpm -ivh mysql80-community-release-el7-7.noarch.rpm  
yum clean all;yum makecache

# 安装mysql
yum install -y mysql-community-server mysql-community-devel \
   mysql-community-libs

# 启动
systemctl start mysqld  
systemctl status mysqld  
systemctl enable mysqld  

# 获取初始密码
cat /var/log/mysqld.log|grep password|rev|cut -d ':' -f1|rev|sed 's/ //g'         

# 修改密码
# mysql -uroot -p
> alter user root@'localhost' identified by 'Honops@123';
> flush privileges;

# 配置
systemctl stop mysqld 
1. 备份原配置
    cp /etc/my.cnf /etc/my.cnf.bk
2. 删除或mv原来最初数据
    rm /var/lib/mysql/* /var/log/mysqld.log -rf  
3. 创建路径
    mkdir -p /data/mysql/{install,data,log,run}
    chown -R mysql:mysql /data/mysql/{install,data,log,run}
    mkdir -p /data/mysql/log/{binlog,relaylog}
    chown mysql.mysql -R /data/mysql/log/{binlog,relaylog}
4. 创建配置文件,信息如【附录】,注意修改ip、id等
5. 初始化
    mysqld --initialize  --user=mysql 
6. 启动mysql
    systemctl start mysqld  
    systemctl status mysqld  
7. 获取初始密码/修改默认密码
【获取初始密码如上;日志文件:/data/mysql/log/mysqld.log】
    mysql  -uroot --socket=/data/mysql/run/mysql.socket -p
    > alter user root@'localhost' identified by 'Honops@123';
    > CREATE USER 'root'@'192.168.20.61' IDENTIFIED BY 'Honops@123'; 
    > GRANT all PRIVILEGES on *.* to 'root'@'192.168.20.61';      
    > flush privileges;


给予grant_priv(GRANT OPTION)权限
> select user,host,grant_priv from mysql.user where user="root";
> update  mysql.user set grant_priv="Y"  where user="root" and host="192.168.20.61";
> flush privileges;

2.2 配置主从

配置主从 
master主机执行
> CREATE USER 'repl'@'%' IDENTIFIED BY 'Slave123'; 
> GRANT REPLICATION SLAVE ON *.* TO 'repl'@'%';
> ALTER USER 'repl'@'%' IDENTIFIED WITH mysql_native_password BY 'Slave123';
> flush privileges;
> show master status;
slave主机执行
> change master to master_host='master主机ip',master_user='repl',
  -> master_password='Slave123', master_log_file='xxxx.xxxx',
  -> master_log_pos=xxxxx;
> start slave;
> show slave status\G

3. 依赖组件

#Nginx的yum源
vim /etc/yum.repos.d/nginx.repo
[nginx-stable]
name=nginx stable repo
baseurl=http://nginx.org/packages/centos/$releasever/$basearch/
gpgcheck=1
gpgkey=https://nginx.org/keys/nginx_signing.key
module_hotfixes=true

#安装Nginx
# yum install nginx -y

# 替换epel源和新加webtatic源
yum install epel-release.noarch -y
curl -o /etc/yum.repos.d/epel.repo http://mirrors.aliyun.com/repo/epel-7.repo
rpm -Uvh https://mirror.webtatic.com/yum/el7/webtatic-release.rpm
rpm -ivh https://mirrors.tuna.tsinghua.edu.cn/remi/enterprise/remi-release-7.rpm

#安装PHP  
yum -y install php74-php-xml php74-php-mysqlnd php74-php-bcmath   \
php74-php-mbstring php74-php-ldap php74-php-gd  php74-php-cli php74-php-fpm 

//cp /etc/php.ini /etc/php.ini.zabbixbak
cp /etc/opt/remi/php74/php.ini /etc/opt/remi/php74/php.ini.bk
sed -i 's/max_execution_time = 30/max_execution_time = 300/g' /etc/opt/remi/php74/php.ini
sed -i '/max_input_time =/s/60/300/' /etc/opt/remi/php74/php.ini
sed -i '/mbstring.func_overload = 0/a\mbstring.func_overload = 1' /etc/opt/remi/php74/php.ini
sed -i '/post_max_size =/s/8M/32M/' /etc/opt/remi/php74/php.ini
sed -i '/;date.timezone =/a\date.timezone = Asia/Shanghai' /etc/opt/remi/php74/php.ini

# 启动
systemctl enable nginx  php74-php-fpm  --now 

# 获取源码包
       【https://www.zabbix.com/cn/download_sources】
mkdir -p /data/zabbix/{data,install,logs,php}
mkdir -p /var/run/zabbix
tar xf zabbix-6.4.3.tar.gz -C /data/zabbix/install/ 
cd /data/zabbix/install && mv zabbix-6.4.3/* . 

# 初始化mysql
> create database zabbix charset utf8 collate utf8_bin;
> CREATE USER 'zabbix'@'192.168.20.61' IDENTIFIED BY 'Zabb@321'; 
> GRANT all PRIVILEGES on zabbix.* to 'zabbix'@'192.168.20.61';   
> CREATE USER 'zabbix'@'localhost' IDENTIFIED BY 'Zabb@321'; 
> GRANT all PRIVILEGES on zabbix.* to 'zabbix'@'localhost';   
> CREATE USER 'zabbix'@'192.168.20.62' IDENTIFIED BY 'Zabb@321'; 
> GRANT all PRIVILEGES on zabbix.* to 'zabbix'@'192.168.20.62';   
> flush privileges;
> use zabbix;
> source /data/zabbix/install/database/mysql/schema.sql
> source /data/zabbix/install/database/mysql/images.sql 
> source /data/zabbix/install/database/mysql/data.sql
> source /data/zabbix/install/database/mysql/double.sql 
> source /data/zabbix/install/database/mysql/history_pk_prepare.sql

在这里插入图片描述

4. zabbix-server

# yum依赖
yum install -y mysql-devel pcre-devel openssl-devel zlib-devel \
libxml2-devel net-snmp-devel net-snmp libssh2-devel OpenIPMI-devel \
libevent-devel openldap-devel libcurl-devel gcc gcc-c++ unixODBC-devel \
gnutls-devel  gnutls   		

groupadd zabbix
useradd zabbix -g zabbix
echo "Os@pass12"| passwd --stdin zabbix

# 安装[安装jdk,见附录]
cd /data/zabbix/install 
export CFLAGS="-std=gnu99"
./configure --prefix=/data/zabbix/data --enable-server \
--with-mysql=/usr/bin/mysql_config  \
--with-net-snmp --with-libxml2 --with-ssh2 --with-openipmi --with-zlib \
 --with-libpthread --with-libevent --with-openssl --with-ldap \
 --with-libcurl --with-libpcre  --enable-java --with-unixodbc \
 --with-jabber  
 #--with-gnutls
 
make install

# 配置文件
chown zabbix.zabbix /data/zabbix/{data,logs}/ -R 
chown zabbix.zabbix /var/run/zabbix/ -R 
cd /data/zabbix/data/etc/
cp zabbix_server.conf    zabbix_server.conf.bk 

ListenPort=10051
LogFile=/data/zabbix/logs/zabbix_server.log  
DBHost=192.168.20.61
DBName=zabbix
DBUser=zabbix
DBPassword=Zabb@321
DBPort=3306
Timeout=4
LogSlowQueries=3000
StatsAllowedIP=127.0.0.1
CacheSize=2048M
HANodeName=zab1
NodeAddress=192.168.20.61:10051
SocketDir=/var/run/zabbix
PidFile=/var/run/zabbix/zabbix_server.pid    

# 启动
# vi /usr/lib/systemd/system/zabbix-server.service
[Unit]
Description=Zabbix Server
After=syslog.target
After=network.target
After=mysqld.service

[Service]
User=zabbix
Group=zabbix
Environment="CONFFILE=/data/zabbix/data/etc/zabbix_server.conf"
Type=forking
PIDFile=/var/run/zabbix/zabbix_server.pid
Restart=on-failure
KillMode=control-group
ExecStart=/data/zabbix/data/sbin/zabbix_server -c $CONFFILE
ExecStop=/bin/kill -SIGTERM $MAINPID
RestartSec=10s
 
[Install]
WantedBy=multi-user.target

systemctl daemon-reload
systemctl start zabbix-server
systemctl status zabbix-server
systemctl enable zabbix-server


#####
# 替换zabbix前端
cp  -r /data/zabbix/install/ui/* /data/zabbix/php/

# 配置nginx
vi /etc/nginx/conf.d/conn.conf  
server {                                                                                                                                                     
    listen       80;                                                                                                                                     
    server_name  192.168.20.61;                                                                                                                          
location / {                                                                                                                                                 
    root /data/zabbix/php;                                                                                                                          
    try_files $uri $uri/ /index.php?query_string;                                                                                                   
    index index.php index.html index.htm;                                                                                                           
    }                                                                                                                                                    
location ~ .php$ {                                                                                                                                           
    root   /data/zabbix/php;                                                                                                                         
    fastcgi_pass   127.0.0.1:9000;                                                                                                                   
    fastcgi_index  index.php;                                                                                                                        
    fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;                                                                                
    include        fastcgi_params;                                                                                                                   
    }                                                                                                                                                    
}  

重启nginx后
访问ip/zabix
配置并下一步
Zabbix图形会出现无法显示中文字体的情况 :

windows的字体路径C:\Windows\Fonts  随便【中文】字体
替换  /data/zabbix/php/assets/fonts/DejaVuSans.ttf  名称保留DejaVuSans
之后刷新页面

5. agent

5.1 yum

rpm -Uvh https://repo.zabbix.com/zabbix/6.4/rhel/7/x86_64/zabbix-release-latest.el7.noarch.rpm        
yum repolist   
  
yum install zabbix-agent2 -y

cp /etc/zabbix/zabbix_agent2.conf  /etc/zabbix/zabbix_agent2.conf.bk 

https://zhuanlan.zhihu.com/p/322151059
修改配置:
Server=192.168.20.61 
ServerActive=192.168.20.61 
Hostname=zab1 

【注意,ServerActive在ha模式时候,用;分隔】

systemctl enable zabbix-agent2  --now 

5.2 编译

# yum install go -y  

mkdir -p /data/zabbix_agent/{data,logs,install}
mkdir -p /var/run/zabbix_agent

tar xf zabbix-6.4.3.tar.gz -C /data/zabbix_agent/install/ 
cd /data/zabbix_agent/install && mv zabbix-6.4.3/* . 

cd /data/zabbix_agent/install 
export CFLAGS="-std=gnu99"
./configure --prefix=/data/zabbix_agent/data  --enable-agent2 
make install

# 配置文件
chown zabbix.zabbix /data/zabbix_agent/{data,logs}/ -R 
chown zabbix.zabbix /var/run/zabbix_agent/ -R 
cd /data/zabbix_agent/data/etc/
cp zabbix_agent2.conf   zabbix_agent2.conf.bk
修改配置:
Server=192.168.20.64
ServerActive=192.168.20.64 
Hostname=pro



# vi /usr/lib/systemd/system/zabbix-agent2.service
[Unit]
Description=Zabbix Agent 2
After=syslog.target
After=network.target

[Service]
Environment="CONFFILE=/data/zabbix_agent/data/etc/zabbix_agent2.conf"
Type=simple
Restart=on-failure
PIDFile=/var/run/zabbix_agent/zabbix_agent2.pid 
KillMode=control-group
ExecStart=/data/zabbix_agent/data/sbin/zabbix_agent2 -c $CONFFILE
ExecStop=/bin/kill -SIGTERM $MAINPID
RestartSec=10s
User=zabbix
Group=zabbix
LimitNOFILE=8192

[Install]
WantedBy=multi-user.target

systemctl daemon-reload
systemctl start zabbix-agent2
systemctl status zabbix-agent2
systemctl enable zabbix-agent2

附录

my.cnf

[mysqld]
character-set-server=utf8
datadir=/data/mysql/data
socket=/data/mysql/run/mysql.socket
bind-address=192.168.30.51
port=3306
user=mysql
slow_query_log=1
slow_query_log_file=/data/mysql/log/slow-query.log
log-error=/data/mysql/log/mysqld.log
max_connections=1000
sql_mode=''
expire_logs_days = 3 
#开启 GTID
gtid_mode=ON
enforce_gtid_consistency=ON
# innodb
default-storage-engine=innodb
innodb_buffer_pool_size=4086M
innodb_data_file_path=ibdata1:1G:autoextend
innodb_file_per_table=1
innodb_flush_log_at_trx_commit=0
innodb_lock_wait_timeout=50
innodb_log_buffer_size=32M
innodb_log_file_size=256M
innodb_log_files_in_group=4
innodb_strict_mode=off
innodb_thread_concurrency=16
interactive_timeout=10800
key_buffer_size=64M
log_bin=/data/mysql/log/binlog/binlog.bin
log_bin_trust_function_creators=1
log_error_verbosity=1
log_slave_updates=1
log_slow_admin_statements=ON
log_timestamps=SYSTEM
long_query_time=1
max_allowed_packet=256M
max_binlog_size=256M
max_connect_errors=99999999
myisam_sort_buffer_size=64M
net_read_timeout=999
net_write_timeout=999
performance_schema=OFF
read_buffer_size=2M
relay_log_recovery=1
relay-log=/data/mysql/log/relaylog/relay-log.bin
replicate-wild-ignore-table=mysql.%
secure_file_priv=
skip-external-locking
skip-name-resolve
skip-symbolic-links
slave_compressed_protocol=1
slave_exec_mode=idempotent
slave_parallel_workers=0
sort_buffer_size=2M
stored_program_cache=1024
sync_binlog=0
table_open_cache=2000
thread_cache_size=8
wait_timeout=10800
server-id=1

JDK

mkdir -p /jdk
vi + /etc/profile
#new add
export JAVA_HOME=/jdk/TencentKona-11.0.14.b1
export JAVA_BIN=/jdk/TencentKona-11.0.14.b1/bin
export PATH=$PATH:$JAVA_HOME/bin
export CLASSPATH=.:$JAVA_HOME/lib/dt.jar:$JAVA_HOME/lib/tools.jar
export JAVA_HOME JAVA_BIN PATH CLASSPATH

source /etc/profile

默认端口号

在这里插入图片描述

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/1020143.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

机器学习(11)---降维PCA

目录 一、概述1.1 维度1.2 sklearn中的降维算法 二、降维实现原理2.1 PCA与SVD2.2 降维实现2.3 降维过程 三、鸢尾花数据集降维3.1 高维数据的可视化3.2 探索降维后的数据3.3 累积可解释方差贡献率曲线 四、选n_components参数方法4.1 最大似然估计自选超参数4.2 按信息量占比选…

期权开户流程、交易时间和规则详解清晰易懂

本文将介绍期权开户流程、交易时间和规则详解清晰易懂则,包括期权的定义、期权交易的时间、期权交易的规则和期权交易的风险。本文的结论是,期权交易的时间和规则非常重要,应该遵守交易规则,并且要注意风险。本文来源:…

VB求组合数

VB求组合数 求组合数C(m,n)n!/(m!(n-m)!) m6,n10 Private Function fact(x As Integer) As LongDim i As Integer, f As Longf 1For i 1 To xf f * iNext ifact f End Function Private Sub Command1_Click()Dim m%, n%, u As Long, v As Long, w As Longm 6: n 10u fa…

Maven的介绍和使用

Maven的作用 项目构建 依赖管理:避免资源间版本冲突问题 统一开发结构:提供统一的项目结构 Maven的使用 下载完压缩包之后放在合适的目录下,其中apache-maven-3.8.8文件夹是安装的maven,下面的repository是本地仓库&#xff…

手写一个springboot starter,并使用starter

文章目录 前言一、starter的作用和意义二、自定义一个starter并使用1.starter本体问题: 2.创建另外一个项目,引入自定义的starter 总结spring-configuration-metadata.json 前言 你一定用过很多starter , 例如 spring-boot-starter,spring-boot-starter-test等等,那么如何实现…

微信群发超过5000人是怎么办到的?

你是否好奇,微信官方对于普通用户的群发限制是500人,但是有些大佬的微信账号怎么能群发突破这个限制,甚至超过5000人,其实他们有可能都用到了这一款软件: https://youwokeji.feishu.cn/docx/RpybdOWpzo9tlqxlMk7c0VZb…

从键盘任意输出一个整数n,若n不是素数,则计算并输出其所有因子(不包括1),否则输出该数为素数

#include<stdio.h> int main() {int i 0;int j 0;int n 0;int tag 0;//设置一个标志位&#xff0c;不为素数时令tag1&#xff1b;printf("输入一个数&#xff1a;");scanf("%d", &n);for (i 2; i < n; i){if (n % i 0){printf("该…

让小爱同学播放本地/远程歌曲的方案 | 小爱音箱播放本地歌曲

环境:HACS+Python 问题:小爱同学不能播放本地歌曲或者群晖中的歌曲 解决办法:HACS + Http Server 背景:冲绿砖是不可能的,DLNA也被阉割了,只能曲线救国了 解决思路:通过HACS监控小爱事件,推送媒体链接并随机播放,具体看下面的流程图 文章目录 1.安装HACS:2.安装HACS…

操作系统的体系结构

一、内核结构 操作系统内核也有两种类别&#xff1a;大内核结构、微内核结构 大内核结构&#xff1a;也叫宏内核/单内核。将操作系统的主要功能模块都作为操作系统内核。大内核结构包括进程管理、存储器管理、设备管理等功能&#xff08;第四层&#xff09;和时钟管理、中断处理…

SpringSecurity 初始化解析

文章目录 前言加载SpringSecurity配置解析配置SpringSecurity 解析器security:http 解析FilterChainProxy的注册过程创建 SpringSecurity 过滤器总结 前言 通过上文分析知道了SpringSecurity对一个请求的具体处理流程。不知道大家是否跟我一样都有几个疑问&#xff1a; Filte…

半导体行业如何在跨网数据交换时保证核心数据是安全的?

半导体行业是高科技产业的核心&#xff0c;也是国家战略的重点领域。半导体产业涉及到芯片设计、制造、封装、测试等多个环节&#xff0c;每个环节都需要大量的数据支撑和交换。半导体企业的核心数据不仅包括技术方案、设计图纸、生产参数等&#xff0c;还包括市场分析、客户信…

创建当前工作簿的备份和一次关闭所有工作簿

【分享成果&#xff0c;随喜正能量】专注地做一件事&#xff0c;做到极致&#xff0c;胜过敷衍地做很多事。不求多&#xff0c;但求精&#xff0c;不求散&#xff0c;但求专。每个人的时间和精力都是有限的&#xff0c;专注于某个领域&#xff0c;沉得住气&#xff0c;静得下心…

Python常用算法合集【文末送书啦~】

前言 作者主页&#xff1a;涛哥聊Python 个人网站&#xff1a;涛哥聊Python 大家好&#xff0c;我是涛哥。 今天为大家分享Python常用算法合集&#xff0c;以及各算法的代码示例&#xff01;还会给大家赠送荣获CSDN“程序员IT好书评选”奖的《labuladong 算法小抄》&#xf…

报错Can‘t pickle local object ‘get_dataset.<locals>.<lambda>‘

将代码里所有 ’num_workers设为0 报错信息 "Cant pickle local object get_dataset.<locals>.<lambda>" 通常出现在使用多进程加载数据时&#xff0c;特别是在使用 Python 的 multiprocessing 模块时。这个错误是由于 Python 无法将局部函数&#xff0…

3D目标检测框架 MMDetection3D环境搭建 docker篇

本文介绍如何搭建3D目标检测框架&#xff0c;使用docker快速搭建MMDetection3D的开发环境&#xff0c;实现视觉3D目标检测、点云3D目标检测、多模态3D目标检测等等。 需要大家提前安装好docker&#xff0c;并且docker版本> 19.03。 1、下载MMDetection3D源码 https://gith…

公司内部网段太多,管控混乱,该如何规范跨网文件传输交换?

在当今的信息化时代&#xff0c;文件传输交换是企业日常工作中不可或缺的一项功能。无论是内部员工之间&#xff0c;还是与外部合作伙伴之间&#xff0c;都需要频繁地进行文件的发送、接收、共享和协作。然而&#xff0c;由于企业内部网段的复杂性和多样性&#xff0c;以及数据…

【JAVA】项目部署

IDEA部署maven&#xff1a;https://www.cnblogs.com/ckfuture/p/15821541.html MySQL数据库安装&#xff1a;https://blog.csdn.net/SoloVersion/article/details/123760428 SQLyog安装&#xff1a; https://blog.csdn.net/qq_43543789/article/details/107997510 git安装&a…

数字孪生平台

数字孪生平台 开放架构的价值数字孪生体和信息物理系统的对比对于数字孪生体的开放架构特点数字孪生体参考架构主要分为两部分 平台生态是数字经济的典型特征&#xff0c;由于数字技术具有网络效应&#xff0c;通过自建或参与数字平台&#xff0c;已成为所有数字技术企业必然的…

低代码平台:顺应时代的选择

低/无代码的高速发展&#xff0c;属于软件市场的选择&#xff0c;相较于传统编写代码的开发方式&#xff0c;它们开发效率更高、投入成本更低、技术门槛也更低&#xff0c;未来更多软件应用将使用低/无代码技术完成&#xff0c;这也是趋势。 身为开发人员经常需要花费大量时间在…

Windows下配置Poetry教程

发生时间&#xff1a;2023.09.16&#xff0c;按照官网的教程&#xff0c;配置系统环境根本找不到路径&#xff0c;所以自己研究了一番。 1.官网入口 https://python-poetry.org/docs/#installing-with-the-official-installer&#xff0c;找到Windows的安装命令 ⇒ 未安装过…