月度归档:2024年01月

基于OpenEuler 22.03内网环境,编译安装zabbix agent客户端 2024-01-30

前缀、文档修改记录

20240130 初始化编辑此文章,完稿

章节1、需求描述

客户内网侧,有部分国产化的操作系统OpenEuler 22.03,需要对其进行zabbix agent监控客户端的安装,由于没有公网,只能选择编译安装这个路子。

OpenEuler 22.03相当于套皮的CentOS 8系统,这个编译也就没什么太大的难度,只要处理好依赖就可以。

章节2、Zabbix Agent源码资源下载

在zabbix官网,下载 Zabbix 6.0 LTS 源码包 , 选择Zabbix Sources,选择标签 zabbix 6.0 LTS, 点击右下方的 Download按钮。

https://cdn.zabbix.com/zabbix/sources/stable/6.0/zabbix-6.0.26.tar.gz

时间戳2024-01-30 16:58 ,编写此文章时,下载到的版本是6.0.26,读者你们根据实际最新版本来。

将下载到的 zabbix-6.0.26.tar.gz 上传到需要部署zabbix agent的OpenEuler 22.03虚拟机 /root/目录下。

章节3、安装依赖

如果有公网环境,有一个靠谱的源,那么安装依赖什么的,就非常简单,但是,目前,客户侧的环境是纯内网,在没有内网源的环境下,只能用过挂载ISO文件的方式,来安装依赖包。

还有,顺便说一句,安装OpenEuler 22.03,比较推荐的分辨率是1920 × 1080,推荐安装系统的时候,就安装 Standard / Development Tools这两个包,大约需要安装865个包,常用的依赖包就都安装了,这类系统,如果缺依赖,又是内网环境,会挺麻烦的,机房类的现场实施,最好提前准备好ISO镜像包。

# 如果是公网
root@SERVER:~# dnf install gcc make pcre-devel

# 如果是内网,如果没有更好的办法安装依赖,推荐挂载对应系统的 openEuler-22.03-LTS-everything-x86_64-dvd.iso 带everything标签的,这种满配的镜像。
root@SERVER:~# mkdir /mnt/iso
root@SERVER:~# mount -t iso9660 -o loop /root/openEuler-22.03-LTS-x86_64-dvd.iso /mnt/iso
root@SERVER:~# cat > openeuler.repo << EOF
[OpenEulerBase]
name=OpenEuler 22.03 base
baseurl=file:///mnt/iso/
# gpgkey=file:///mnt/iso/
# gpgcheck=1    # 1表示检查 0表示不检查
gpgcheck=0
enabled=1
EOF
root@SERVER:~# dnf clean all
root@SERVER:~# dnf update

章节4、编译安装zabbix agent

4.1、增加用户和组

# 增加用户和组
root@SERVER:~# groupadd zabbix 
root@SERVER:~# useradd -g zabbix -s /sbin/nologin -c "Zabbix Monitoring System" zabbix 

4.2、检查一下依赖

确认如下的gcc/make/pcre的依赖包,是否安装了,如果没有,参考前一个章节

root@SERVER:~# dnf install  gcc make pcre-devel 

4.3、编译zabbix agent 6.0 LTS

编译安装 6.0.26 LTS版本的过程如下,且假设源码包存放位置为 /root/src/zabbix-6.0.26.tar.gz

root@SERVER:~# cd /root/src/
root@SERVER:~# tar -zxf zabbix-6.0.26.tar.gz 
root@SERVER:~# cd zabbix-6.0.26
root@SERVER:~# mkdir -p /usr/local/zabbix /var/log/zabbix /etc/zabbix
root@SERVER:~# ./configure --prefix=/usr/local/zabbix --sysconfdir=/etc/zabbix --enable-agent 
root@SERVER:~# make 
root@SERVER:~# make install 
root@SERVER:~# chown -R zabbix:zabbix /usr/local/zabbix/ /var/log/zabbix /etc/zabbix

本次编译安装后,

zabbix agent 执行文件路径 /usr/local/zabbix/sbin/zabbix_agentd

zabbix agent 配置文件路径 /etc/zabbix/zabbix_agentd.conf

4.4、修改zabbix agent的执行文件和配置文件

4.4.1、修改配置文件,路径 /etc/zabbix/zabbix_agentd.conf

PidFile=/var/log/zabbix/zabbix_agentd.pid 
LogFile=/var/log/zabbix/zabbix_agentd.log 
Server=192.168.112.170    #Zabbix服务端ip地址 
ServerActive=192.168.112.170    #Zabbix服务端ip地址 
Hostname=someywname    #必须与在Zabbix WEB管理页面创建主机时的hostname一致 

4.4.2、复制并修改执行文件

root@SERVER:~# cp /root/src/zabbix-6.0.26/misc/init.d/tru64/zabbix_agentd /etc/init.d/zabbix_agentd
root@SERVER:~# chmod +x /etc/init.d/zabbix_agentd

修改配置文件 /etc/init.d/zabbix_agentd 修改DAEMON/PIDFILE两行内容

DAEMON=/usr/local/zabbix/sbin/zabbix_agentd
PIDFILE=/var/log/zabbix/zabbix_agentd.pid

可以临时测试一下

/etc/init.d/zabbix_agentd  start    # 开启
/etc/init.d/zabbix_agentd  stop    # 关闭

4.5、配置开机启动服务

配置开机启动的服务项 /etc/systemd/system/zabbix-agent.service

[Unit]
Description=Zabbix Agent
After=syslog.target
After=network.target

[Service]
Type=simple
User=zabbix
Group=zabbix
Restart=on-failure
PIDFile=/var/log/zabbix/zabbix_agentd.pid
ExecStart=/usr/local/zabbix/sbin/zabbix_agentd -c /etc/zabbix/zabbix_agentd.conf 


[Install]
WantedBy=multi-user.target

4.6、开启zabbix-agent服务

root@SERVER:~# systemctl daemon-reload
root@SERVER:~# systemctl restart zabbix-agent
root@SERVER:~# systemctl enable zabbix-agent

附录1、视频操作演示

暂空

附录2、@Dasmz

博客内,所有教程为手打原创教程,如果技术教程对您有所帮助,欢迎打赏作者。技术层面,闻道有先后,如有疏漏、错误,欢迎指正。技术博客的内容,一般具有一定的环境依赖,具有一定的年代依赖,酌情参考其中的内容,请勿完全照搬照抄。

对于博客内已提及的专业知识,如果需要技术指导,欢迎联系我,仅需支付工时费

Twitter: Dasmz

Youtube: @DasmzStudio

Telegram: @Dasmz

Donate
云乞讨

基于Debian/Ubuntu环境,安装部署Zabbix Server 2024-1-17

前缀、文档修改记录

20240117 初始化编辑此文章,完稿

章节1、需求描述

作为在资源监控体系中,比较出名的一名猛将,zabbix当前无疑是比较靠谱的存在,本页博客,将介绍一下,在当前时间”2024-01-17 12:25″部署zabbix-server的操作步骤,当前时间部署的版本为6.0 LTS版本,这样,能满足比较长时间的运行需求。

章节2、环境版本说明

操作系统环境:Ubuntu 22.04 LTS

Zabbix Server:6.0 LTS https://www.zabbix.com/

章节3、部署步骤

3.0、先保证系统的库更新

root@server:~# apt update
root@server:~# apt upgrade
root@server:~# reboot   # 首次更新完,重启一下

3.1、修改主机的名称

root@server:~# echo "ZabbixServer"  > /etc/hostname

3.2、修改时区

root@server:~# dpkg-reconfigure tzdata

选择 Asia/Shanghai ,即东八区,亚洲/上海

3.3、安装中文语言包(比较重要)

root@server:~# dpkg-reconfigure locales

选择语言包,一般,需要把中文的zh_CN.UTF-8勾选上,就可以满足基本的日常需求。

3.4、安装zabbix

3.4.1、选择版本

打开Zabbix官网, https://www.zabbix.com/ ,在下载页面,选择对应你系统的版本,数据库的版本的zabbix,原则上,选最新的LTS版本为佳。

我这里选择的 6.0 LTS / Ubuntu / 22.04 / Server / MySQL / Nginx ,操作的时间戳2024-1-17 09:45

3.4.2、添加zabbix的库到系统

在前面一步中,选择好了各个版本后,在它官网的下面,下载链接会刷新到你选择的版本

确认版本正确的,就执行即可。

root@server:~# apt update
root@server:~# apt install wget
root@server:~# wget --no-check-certificate  https://repo.zabbix.com/zabbix/6.0/ubuntu/pool/main/z/zabbix-release/zabbix-release_6.0-4+ubuntu22.04_all.deb
root@server:~# dpkg -i zabbix-release_6.0-4+ubuntu22.04_all.deb
root@server:~# apt update

3.4.3、安装zabbix-server

因为zabbix-server这台机器,本身也是需要监控到的,所以,命令中包含安装zabbix-agent

root@server:~# apt install zabbix-server-mysql zabbix-frontend-php zabbix-nginx-conf zabbix-sql-scripts zabbix-agent

3.4.4、安装Mariadb数据库

MySQL数据库是比较经典的数据库,用它或者用PostgreSQL都行,zabbix都是支持的,我这里,前面在选版本的时候,选择的是MySQL的deb包,这里就协同安装对应的库。

但是,这里,对于MySQL,更推荐用Mariadb版本,安装mariadb-server,本次安装到的版本是 “Server version: 10.6.12-MariaDB-0ubuntu0.22.04.1 Ubuntu 22.04”

时间戳 2024-01-17 10:44

root@server:~# apt install mariadb-server  
root@server:~# mysql_secure_installation   # 初始化数据库,配置密码等,数据库root密码务必保证复杂度,并记牢固。

3.4.5、为zabbix-server配置专用的数据库实例

这里可以自定义的参数是,zabbix用途的,数据库实例名称,用户名,密码,但是因为业务简单,仅为监控任务,非生产业务数据库,实例名称zabbix,用户名zabbix,我一般不修改,保证密码复杂度,保证数据库本地监听即可。

root@server:~# mysql -uroot -p
password为你上一步设置的数据库root密码
mysql> create database zabbix character set utf8mb4 collate utf8mb4_bin;
mysql> create user zabbix@localhost identified by 'password';   # 修改zabbix数据库用户的密码,这个不跟root的一样,也要保证一定的密码强度。
mysql> grant all privileges on zabbix.* to zabbix@localhost;
mysql> set global log_bin_trust_function_creators = 1;
mysql> quit;

导入zabbix库的表,表结构等模板信息。

root@server:~# zcat /usr/share/zabbix-sql-scripts/mysql/server.sql.gz | mysql –default-character-set=utf8mb4 -uzabbix -p zabbix

导入库表完成后,修改一下 存储函数相关的数据库参数

root@server:~# mysql -uroot -p
password为设置的数据库root密码
mysql> set global log_bin_trust_function_creators = 0;
mysql> quit;

3.4.6、 配置zabbix-server

配置文件路径 /etc/zabbix/zabbix_server.conf

修改配置文件

DBPassword=password    #其中password为前面设置的数据库内zabbix用户的密码

3.4.7、修改Nginx监听的端口,监听的名称

修改配置文件 /etc/zabbix/nginx.conf

# listen 8080;
# server_name example.com;

3.4.8、增加楷体中文字体

下载楷体字体文件,上传到服务器的字体目录下 /usr/share/zabbix/assets/fonts/ ,并给到全部的读写权限。 该操作可以避免在 zabbix 监控图上中文不显示,或者说显示为框框的问题。

将原有的graphfont.ttf软链接指向 刚刚上传的楷体字体。

下载字体 楷体simkai.ttf

root@server:~# cd /usr/share/zabbix/assets/fonts
root@server:~# chmod 777 simkai.ttf 
root@server:~# ls -l
total 11512
lrwxrwxrwx 1 root root       38 Jan 17 10:20 graphfont.ttf -> /etc/alternatives/zabbix-frontend-font
-rwxrwxrwx 1 root root 11787328 Jan 17 11:03 simkai.ttf
root@server:~# mv graphfont.ttf bak.graphfont.ttf.20240117
root@server:~# ln -s simkai.ttf graphfont.ttf
root@server:~# ls -l
total 11512
lrwxrwxrwx 1 root root       38 Jan 17 10:20 bak.graphfont.ttf.20240117 -> /etc/alternatives/zabbix-frontend-font
lrwxrwxrwx 1 root root       10 Jan 17 11:05 graphfont.ttf -> simkai.ttf
-rwxrwxrwx 1 root root 11787328 Jan 17 11:03 simkai.ttf
root@server:~# 

3.4.9、重启一下软件进程

root@server:~# systemctl restart zabbix-server zabbix-agent nginx php8.1-fpm
root@server:~# systemctl enable zabbix-server zabbix-agent nginx php8.1-fpm

3.5、WEB页面上初始化配置Zabbix

使用你电脑的浏览器,登录你服务器的地址 http://yourserverip:port/ 即可进入初始化设置的页面。

默认语言,选择中文(zh_CN),下一步

必要条件检测,页面,看一下,都应该是OK,绿色的状态,即可

数据库页面,一般库和zabbix-server部署在同一台服务器的,写一个zabbix用户的密码就行。如果修改过数据库实例,用户,某些参数的,就必须这里也修改一致。

填写一个主机名称 Zabbix,时区,东8区,亚洲/上海

基本大功告成。

它为Zabbix生成了 conf/zabbix.conf.php

3.6、登录Zabbix-Server了

初始化完成,就可以登录你配置的zabbix-server了,默认的用户名/密码为,默认用户名 Admin , 默认密码 zabbix 。

默认密码是不安全的,修改到一个复杂密码。点页面左侧管理,用户,修改密码

再后面,就是添加你需要监控的资产了,不在此篇章博客表述了。

补充,CVE-2024-22120 基础设施级软件Zabbix漏洞处理 2024-05-21

补充,编译安装,参考 https://www.zabbix.com/documentation/6.0/en/manual/installation/install#installing-zabbix-daemons

附录1、视频操作演示

附录2、@Dasmz

博客内,所有教程为手打原创教程,如果技术教程对您有所帮助,欢迎打赏作者。技术层面,闻道有先后,如有疏漏、错误,欢迎指正。技术博客的内容,一般具有一定的环境依赖,具有一定的年代依赖,酌情参考其中的内容,请勿完全照搬照抄。

对于博客内已提及的专业知识,如果需要技术指导,欢迎联系我,仅需支付工时费

Twitter: Dasmz

Youtube: @DasmzStudio

Telegram: @Dasmz

Donate
云乞讨

基于Ubuntu/Debian系统,安装LNMP 2024-1-6

前缀、文档修改记录

2024-01-06 初始化编辑此文章
2024-02-20 更新一次

此博客未更新完成~~~

章节1、需求描述

LNMP是比较受欢迎的博客架构模式,本次教程,系统环境选择Ubuntu/Debian系列,该系列有比较成熟的软件库,安装Nginx、数据库、PHP都很便捷。Nginx、MySQL/MariaDB这个一般我就用系统自带的版本,PHP编译安装PHP7.4版本,不用最新版本,以便满足兼容性。

Nginx可选自己编译安装最新的版本。

有条件的使用站库分离的架构,数据库放到大厂的云服务器上,会比较靠谱。

章节2、安装步骤

2.1、安装Nginx

root@SERVER:~# apt update
root@SERVER:~# apt install nginx

2.2、安装MySQL/MariaDB

root@SERVER:~# apt install mysql-server

初始化数据库的安全设置,最重要的就是设置数据库用户root的超级密码,务必保存好密码

root@SERVER:~# mysql_secure_installation

设置用户的权限

root@SERVER:~# mysql -u root -p

mysql> SELECT user,authentication_string,plugin,host FROM mysql.user;

mysql> ALTER USER 'root'@'localhost' IDENTIFIED WITH mysql_native_password BY 'password';

mysql> FLUSH PRIVILEGES;

mysql> SELECT user,authentication_string,plugin,host FROM mysql.user;

2.3、安装PHP

该源包含了php-fpm这个包,需要补上

root@SERVER:~# add-apt-repository universe
root@SERVER:~# apt install php-fpm php-mysql

章节3、Nginx配置文件

server {
        listen 80;
        root /var/www/html;
        index index.php index.html index.htm index.nginx-debian.html;
        server_name your_domain;

        location / {
                try_files $uri $uri/ =404;
        }

        location ~ \.php$ {
                include snippets/fastcgi-php.conf;
                fastcgi_pass unix:/var/run/php/php7.2-fpm.sock;
        }

        location ~ /\.ht {
                deny all;
        }
}

2.4、测试

测试Nginx、PHP,创建文件 /var/www/html/info.php

<?php
phpinfo();
?>

测试连接

http://your_server_domain_or_IP/info.php

附录1、视频操作演示

附录2、@Dasmz

博客内,所有教程为手打原创教程,如果技术教程对您有所帮助,欢迎打赏作者。技术层面,闻道有先后,如有疏漏、错误,欢迎指正。技术博客的内容,一般具有一定的环境依赖,具有一定的年代依赖,酌情参考其中的内容,请勿完全照搬照抄。

对于博客内已提及的专业知识,如果需要技术指导,欢迎联系我,仅需支付工时费

Twitter: Dasmz

Youtube: @DasmzStudio

Telegram: @Dasmz

Donate
云乞讨