锋盈数科-知识库 Logo
首页
软件开发
计算机基础
Hello Halo
新手必读
关于本知识库
登录 →
锋盈数科-知识库 Logo
首页 软件开发 计算机基础 Hello Halo 新手必读 关于本知识库
登录
  1. 首页
  2. zabbix
  3. 轻松搞定Zabbix监控部署,打造高效运维利器!

轻松搞定Zabbix监控部署,打造高效运维利器!

0
  • zabbix
  • 发布于 2024-12-16
  • 15 次阅读
黄健
黄健

点击蓝字 关注我们

安装环境:

系统:centos7.5

nginx版本:nginx-1.15.3.tar.gz

php版本:php-5.6.36.tar.gz

mysql版本:mysql-5.7

zabbix版本:zabbix-4.0.0.tar

1、部署Nginx

1.1、安装依赖包

wget http://nginx.org/download/nginx-1.15.3.tar.gz

yum install gcc pcre-devel openssl-devel -y

useradd -M -s /sbin/nologin nginx

1.2、安装nginx

tar -xzf nginx-1.15.3.tar.gz

cd nginx-1.15.3

./configure –prefix=/usr/local/nginx –user=nginx –group=nginx –with-http_ssl_module –with-http_stub_status_module

make \&\& make install

chown nobody -R /usr/local/nginx/

vi /usr/local/nginx/conf/nginx.conf

pid /var/run/nginx.pid;

vi /usr/lib/systemd/system/nginx.service

[Unit]

Description=The NGINX HTTP and reverse proxy server

After=syslog.target network.target remote-fs.target nss-lookup.target

[Service]

Type=forking

PIDFile=/var/run/nginx.pid

ExecStartPre=/usr/local/nginx/sbin/nginx -t

ExecStart=/usr/local/nginx/sbin/nginx

ExecReload=/usr/local/nginx/sbin/nginx -s reload

ExecStop=/bin/kill -s QUIT $MAINPID

PrivateTmp=true

[Install]

WantedBy=multi-user.target

2、部署mysql

2.1、安装

yum -y install yum-utils

配置yum源:

cat /etc/yum.repos.d/mysql.repo

Enable to use MySQL 5.7

[mysql57-community]

name=MySQL 5.7 Community Server

baseurl=http://repo.mysql.com/yum/mysql-5.7-community/el/7/$basearch/

enabled=1

gpgcheck=0

gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-mysql

查看可安装的mysql版本:

yum repolist all\|grep mysql

安装MySQL,默认最新版本:

yum install mysql-community-server -y

启动MySQL服务:

systemctl start mysqld

systemctl status mysqld

root账户默认密码存储在错误日志中:

grep 'temporary password' /var/log/mysqld.log

mysql -uroot -p

mysql> ALTER USER 'root'@'localhost' IDENTIFIED BY 'Zabbix2018!';

注意:密码要求包含一个大写字母,一个小写字母,一位数字和一个特殊字符,并且密码长度至少为8个字符。

2.2、MySQL服务器配置

vi /etc/my.cnf

[mysql]

socket = /var/lib/mysql/mysql.sock

[mysqld]

user = mysql

port = 3306

datadir = /var/lib/mysql

socket = /var/lib/mysql/mysql.sock

bind-address = 0.0.0.0

pid-file = /var/run/mysqld/mysqld.pid

character-set-server = utf8

collation-server = utf8_general_ci

log-error = /var/log/mysqld.log

max_connections = 10240

open_files_limit = 65535

innodb_buffer_pool_size = 1G

innodb_flush_log_at_trx_commit = 2

innodb_log_file_size = 256M

systemctl restart mysqld

systemctl enable mysqld

mysql -uroot -p

mysql> create database zabbix;

mysql> grant all on zabbix.* to zabbix@'192.168.0.%' identified by 'Zabbix2018!';

3、部署php

3.1、安装依赖包

yum install -y gcc gcc-c++ make gd-devel libxml2-devel \

libcurl-devel libjpeg-devel libpng-devel openssl-devel \

libxslt-devel

3.2、安装PHP

wget http://docs.php.net/distributions/php-5.6.36.tar.gz

tar zxf php-5.6.36.tar.gz

cd php-5.6.36

./configure –prefix=/usr/local/php \

–with-config-file-path=/usr/local/php/etc \

–enable-fpm –enable-opcache \

–with-mysql –with-mysqli \

–enable-session –with-zlib –with-curl –with-gd \

–with-jpeg-dir –with-png-dir –with-freetype-dir \

–enable-mbstring –enable-xmlwriter –enable-xmlreader \

–enable-xml –enable-sockets –enable-bcmath –with-gettext

make -j 8 \&\& make install

cp php.ini-production /usr/local/php/etc/php.ini

cp sapi/fpm/php-fpm.conf /usr/local/php/etc/php-fpm.conf

cp sapi/fpm/php-fpm.service /usr/lib/systemd/system/

vi /usr/lib/systemd/system/php-fpm.service

[Unit]

Description=The PHP FastCGI Process Manager

After=syslog.target network.target

[Service]

Type=simple

PIDFile=/usr/local/php/var/run/php-fpm.pid

ExecStart=/usr/local/php/sbin/php-fpm –nodaemonize –fpm-config /usr/local/php/etc/php-fpm.conf

ExecReload=/bin/kill -USR2 $MAINPID

[Install]

WantedBy=multi-user.target

systemctl daemon-reload

systemctl start php-fpm

systemctl enable php-fpm

4、部署Zabbix Server

https://www.zabbix.com/download_sources

4.1、安装依赖包:

yum install libxml2-devel libcurl-devel libevent-devel net-snmp-devel mysql-community-devel -y

yum install java-1.8.0-openjdk java-1.8.0-openjdk-devel -y

4.2、安装zabbix server

tar -zxf zabbix-4.0.0.tar.gz

groupadd zabbix

useradd -g zabbix zabbix -s /sbin/nologin

cd zabbix-4.0.0

./configure –prefix=/usr/local/zabbix –enable-server –enable-agent –enable-java –with-mysql –enable-ipv6 –with-net-snmp –with-libcurl –with-libxml2

make \&\& make install

4.3、导入表结构

mysql -h 192.168.0.13 -uzabbix -pZabbix2018! zabbix < schema.sql

cd database/mysql

mysql -uzabbix -p zabbix < schema.sql

mysql -uzabbix -p zabbix < images.sql

mysql -uzabbix -p zabbix < data.sql

4.4、配置zabbix server

vi /usr/local/zabbix/etc/zabbix_server.conf

DBHost=192.168.0.13

DBName=zabbix

DBUser=zabbix

DBPassword=Zabbix2018!

vi /usr/lib/systemd/system/zabbix_server.service

[Unit]

Description=Zabbix Server

After=syslog.target

After=network.target

[Service]

Environment=“CONFFILE=/usr/local/zabbix/etc/zabbix_server.conf”

EnvironmentFile=-/etc/sysconfig/zabbix-server

Type=forking

Restart=on-failure

PIDFile=/tmp/zabbix_server.pid

KillMode=control-group

ExecStart=/usr/local/zabbix/sbin/zabbix_server -c $CONFFILE

ExecStop=/bin/kill -SIGTERM $MAINPID

RestartSec=10s

TimeoutSec=0

[Install]

WantedBy=multi-user.target

启动Agent:

/usr/local/zabbix/sbin/zabbix_agentd

5、部署Zabbix Web界面

5.1、修改php配置文件

Zabbix前端使用PHP写的,所以必须运行在PHP支持的Web服务器上。

cd zabbix-4.0.0

cp frontends/php/* /usr/local/nginx/html/ -rf

vi /usr/local/php/etc/php.ini

max_execution_time = 300

memory_limit = 128M

post_max_size = 16M

upload_max_filesize = 2M

max_input_time = 300

always_populate_raw_post_data = -1

date.timezone = Asia/Shanghai

systemctl restart php-fpm

systemctl restart zabbix_server

ps -ef \|grep zabbix

5.2、修改nginx配置文件

cd /usr/local/nginx/conf

cat nginx.conf

server {

listen 80;

server_name localhost;

access_log logs/zabbix.access.log main;

location / {

root html;

index index.php index.html index.htm;

}

location \~ \.php$ {

root html;

fastcgi_pass 127.0.0.1:9000;

fastcgi_index index.php;

fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;

include fastcgi_params;

}

}

/usr/local/nginx/sbin/nginx -t

/usr/local/nginx/sbin/nginx

5.3、通过web设置zabbix

访问: http://192.168.0.13

vim /usr/local/nginx/html/conf/zabbix.conf.php

// Zabbix GUI configuration file.

global $DB;

$DB['TYPE'] = 'MYSQL';

$DB['SERVER'] = '192.168.0.13';

$DB['PORT'] = '3306';

$DB['DATABASE'] = 'zabbix';

$DB['USER'] = 'zabbix';

$DB['PASSWORD'] = 'Zabbix2018!';

// Schema name. Used for IBM DB2 and PostgreSQL.

$DB['SCHEMA'] = '';

$ZBX_SERVER = 'localhost';

$ZBX_SERVER_PORT = '10051';

$ZBX_SERVER_NAME = 'zabbix';

$IMAGE_FORMAT_DEFAULT = IMAGE_FORMAT_PNG;

5.4、zabbix登陆

访问: http://192.168.0.13

6、调整zabbix语言

7、部署Zabbix Agent

7.1、yum安装zabbix agent

rpm -ivh http://repo.zabbix.com/zabbix/4.0/rhel/7/x86_64/zabbix-release-4.0-1.el7.noarch.rpm

yum install zabbix-agent -y

vi /etc/zabbix/zabbix_agentd.conf

PidFile=/var/run/zabbix/zabbix_agentd.pid

LogFile=/var/log/zabbix/zabbix_agentd.log

DebugLevel=3

Server=192.168.0.13

ListenPort=10050

ListenIP=192.168.0.14

ServerActive=192.168.0.13

Hostname=192.168.0.14

Include=/etc/zabbix/zabbix_agentd.d/*.conf

UserParameter

systemctl start zabbix-agent

ps -ef \|grep zabbix

在zabbix server测试:

/usr/local/zabbix/bin/zabbix_get -s 192.168.0.14 -p 10050 -k “system.cpu.load[all,avg1]”

/usr/local/zabbix/bin/zabbix_get -s 192.168.0.14 -p 10050 -k “system.hostname”

/usr/local/zabbix/bin/zabbix_get -s 192.168.0.14 -p 10050 -k “system.uname”

7.2、源码包安装zabbix agent

yum install libxml2-devel libcurl-devel libevent-devel net-snmp-devel mysql-community-devel -y

tar -xzf zabbix-4.0.0.tar.gz

groupadd zabbix

useradd -g zabbix zabbix -s /sbin/nologin

cd zabbix-4.0.0

./configure –prefix=/usr/local/zabbix –enable-agent

make \&\& make install

vim /usr/local/zabbix/etc/zabbix_agentd.conf

PidFile=/var/run/zabbix/zabbix_agentd.pid

LogFile=/var/log/zabbix/zabbix_agentd.log

DebugLevel=3

Server=192.168.0.13

ListenPort=10050

ListenIP=192.168.0.14

ServerActive=192.168.0.13

Hostname=192.168.0.14

Include=/usr/local/zabbix/etc/zabbix_agentd.conf.d/*.conf

UserParameter

cp /opt/zabbix-4.0.0/conf/zabbix_agentd/userparameter_mysql.conf /usr/local/zabbix/etc/zabbix_agentd.conf.d/

mkdir -p /var/log/zabbix

mkdir -p /var/run/zabbix

chown zabbix:zabbix /var/log/zabbix

chown zabbix:zabbix /var/run/zabbix

/usr/local/zabbix/sbin/zabbix_agentd

ps -ef \|grep zabbix

ln -s /usr/local/zabbix/bin/* /usr/bin/

ln -s /usr/local/zabbix/sbin/* /usr/sbin/

cp /opt/zabbix-4.0.0/misc/init.d/fedora/core/zabbix_* /etc/init.d/

chmod 755 /etc/init.d/zabbix_*

sed -i “s#BASEDIR=/usr/local#BASEDIR=/usr/local/zabbix#g” /etc/init.d/zabbix_agentd

/etc/init.d/zabbix_agentd start

/etc/init.d/zabbix_agentd stop

systemctl start zabbix_agentd

ps -ef \|grep Zabbix

7.3、zabbix agent客户端主动模式

cat /usr/local/zabbix/etc/zabbix_agentd.conf

PidFile=/var/run/zabbix/zabbix_agentd.pid

LogFile=/var/log/zabbix/zabbix_agentd.log

DebugLevel=3

ListenPort=10050

ListenIP=10.3.3.81 #zabbix agent端ip

StartAgents=0

ServerActive=45.114.170.162 #zabbix server端ip

Hostname=10.3.3.81

Include=/usr/local/zabbix/etc/zabbix_agentd.conf.d/*.conf

nginx进程状态

UserParameter=nginx.process,ps -ef\|grep nginx\|grep -v grep\|wc –l

监控项改为主动模式:

7.4、zabbix_agentd监控项配置

7.4.1、自定义监控项1

nginx进程状态

UserParameter=nginx.process,ps -ef\|grep nginx\|grep -v grep\|wc -l

redis进程状态

UserParameter=redis.process,ps -ef\|grep redis\|grep -v grep\|wc -l

php-fpm进程状态

UserParameter=php-fpm.process,ps -ef\|grep php-fpm\|grep -v grep\|wc -l

rabbitmq进程状态

UserParameter=rabbitmq.process,ps -ef\|grep rabbitmq\|grep -v grep\|wc -l

进程占用cpu,内存使用率

UserParameter=discovery.process,/usr/local/zabbix/scripts/discovery_process.sh

UserParameter=process.check[*],/usr/local/zabbix/scripts/process_check.sh $1 $2 $3

node进程状态

UserParameter=node.process,ps -ef\|grep node\|grep -v grep\|wc -l

fdfs进程状态

UserParameter=fdfs.process,ps -ef\|grep fdfs\|grep -v grep\|wc -l

tomcat_front进程状态

UserParameter=tomcat_front.process,ps -ef \|grep tomcat8_8080_front \|grep -v grep \|wc -l

tomcat_manage进程状态

UserParameter=tomcat_manage.process,ps -ef \|grep tomcat8_8083_manage \|grep -v grep \|wc -l

tomcat_task进程状态

UserParameter=tomcat_task.process,ps -ef \|grep tomcat8_8084_task \|grep -v grep \|wc -l

tomcat_app进程状态

UserParameter=tomcat_app.process,ps -ef \|grep tomcat8_8085_app \|grep -v grep \|wc -l

tomcat_redis进程状态

UserParameter=tomcat_redis.process,ps -ef \|grep tomcat8_8088_redis_sp \|grep -v grep \|wc -l

mysql进程状态

UserParameter=mysql.process,ps -ef\|grep mysql\|grep -v grep\|wc -l

tcp连接状态

UserParameter=tcp.status[*],ss -antp \|awk '{a[$$1]++}END{print a[“$1”]}'

7.4.2、自定义监控项2

下面自定义监控项在zabbix agent配置文件添加:

#异常IP登录

UserParameter=check.ssh, who \| grep -v 103.25.18.121 \| wc -l

#异常用户登录

UserParameter=check.user, who \| grep -v root \| wc -l

#密码尝试失败次数

UserParameter=check.fail, grep “Failed password” /var/log/secure \| wc -l

#检查用户数量

UserParameter=get_user_num,wc -l /etc/passwd \| awk '{print $1}'

#可以登陆的用户

UserParameter=get_login_users,awk -F”:” '$7==“/bin/bash”{j++}END{print j}' /etc/passwd

#不可以登陆的用户

UserParameter=get_nologin_users,awk -F”:” '$7!=“/bin/bash”{i++}END{print i}' /etc/passwd

#检查nginx状态

UserParameter=check.nginx, ps -ef \|grep nginx \|grep -v grep\|wc -l

#检查mysql状态

UserParameter=check.mysql, ps -ef \|grep mysqld \|grep -v grep\|wc -l

#检查php状态

UserParameter=check.php-fpm, ps -ef \|grep php-fpm \|grep -v grep\|wc -l

自定义监控模板

配置–模板–创建模板

应用集—创建应用集

监控项—创建监控项

触发器—创建触发器

图形—创建图形

主机应用模板

8、zabbix语言设置成中文后,有乱码解决如下

1.从windows下控制面板->字体->选择一种中文字库例如"楷体”

2.将字体上传至/usr/local/nginx/html/fonts目录下

3.替换之前的字体

rm -rf DejaVuSans.ttf

mv simkai.ttf DejaVuSans.ttf
以上,既然看到这里了,如果觉得不错,随手点个赞、在看、转发三连吧,如果想第一时间收到推送,也可以给我个星标⭐~谢谢你看我的文章,我们,下次再见。

原文链接: https://mp.weixin.qq.com/s/SaNrxrA-dL4K-36fA2b_JQ

标签: #运维 80
相关文章

shell脚本一键部署Zabbix的实现步骤 2024-12-16 09:38

本文主要介绍了shell一键部署Zabbix的实现步骤,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧!

docker快速安装zabbix7.0 2024-12-16 09:38

1、安装docker (1)卸载旧版本 sudo apt-get remove docker docker-engine docker.io containerd runc (2)更新apt包索引并安装包以允许apt在HTTPS上使用存储库 sudo apt-get install -y apt-t

轻松搞定Zabbix监控部署,打造高效运维利器! 2024-12-16 09:38

点击蓝字 关注我们 安装环境: 系统:centos7.5 nginx版本:nginx-1.15.3.tar.gz php版本:php-5.6.36.tar.gz mysql版本:mysql-5.7 zabbix版本:zabbix-4.0.0.tar 1、部署Nginx 1.1、安装依赖包 wget

zabbix监控域名到期时间 2024-12-16 09:38

点击蓝字 关注我们 1、自定义监控项 在zabbix server端这里面创建一个监控项 cd /etc/zabbix/zabbix_agentd.d ``` # vi domain_certificate_check.conf ``` UserParameter=https.remaining

zabbix监控rabbitmq消息队列服务 2024-12-16 09:38

点击蓝字 关注我们 1、脚本文件 cat rabbitmq_queues.sh !/bin/bash source /etc/profile rabbitmqctl list_connections name state \|grep -Ev 'List\|name' >/tmp/rabbitmq_

zabbix监控mysql服务器 2024-12-16 09:38

点击蓝字 关注我们 监控指标: 实例状态 连接数 流量 增删改查 缓冲池大小与利用率 1、编写监控数据采集脚本 cat /etc/my.cnf #创建一个普通用户用于免交互 [mysql] host=192.168.0.14 user=wp password=MyNewPass4! [mysqlad

目录

IT 外包服务商

  • 意见投递
  • zyf6619

软件开发应用

主菜单

  • 首页
  • 软件开发
  • 计算机基础
  • Hello Halo
  • 新手必读
  • 关于本知识库
Copyright © 2024 your company All Rights Reserved. Powered by Halo.