zabbix服务器常用操作

本文介绍了如何重启Zabbix服务以及配置Zabbix Server的关键参数。内容包括修改`/etc/zabbix/zabbix_server.conf`文件,如调整StartPingers、StartPollers等。此外,还展示了查看和分析Zabbix服务器日志的方法。接着,文章涉及了数据库优化,如调整MySQL(MariaDB)的max_connections,以及优化参数如innodb_buffer_pool_size。最后,文章提到了通过snmp工具进行网络监控的测试操作。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

重启zabbix服务
systemctl restart zabbix-server

做的修改
vi /etc/zabbix/zabbix_server.conf
StartPingers=1
StartPollers=10
修改配置文件后,需重启zabbix-server服务

查看有效配置
[root@zabbix ~]# egrep -v "^#|^$" /etc/zabbix/zabbix_server.conf
LogFile=/var/log/zabbix/zabbix_server.log
LogFileSize=0
PidFile=/var/run/zabbix/zabbix_server.pid
SocketDir=/var/run/zabbix
DBName=zabbix
DBUser=zabbix
DBPassword=zabbix
StartPollers=120
StartPollersUnreachable=50
StartTrappers=10
StartPingers=30
StartDiscoverers=10
SNMPTrapperFile=/var/log/snmptrap/snmptrap.log
CacheSize=1G
CacheUpdateFrequency=300
HistoryCacheSize=512M
TrendCacheSize=256M
ValueCacheSize=1G
Timeout=4
AlertScriptsPath=/usr/lib/zabbix/alertscripts
ExternalScripts=/usr/lib/zabbix/externalscripts
LogSlowQueries=3000
[root@zabbix ~]# 
查看zabbix服务器日志(最后几行,不断更新),出问题的时候拍错看,服务没起来的原因
[root@zabbix ~]# tailf /var/log/zabbix/zabbix_server.log 

用grep 过滤一下,只输出指定的内容
tailf /var/log/zabbix/zabbix_server.log | grep "10.130.16.253" 
 13264:20201020:165232.625 SNMP agent item "net.if.in.errors[ifInErrors.16]" on host "10.130.16.253" failed: first network error, wait for 60 seconds
 14114:20201020:165342.051 resuming SNMP agent checks on host "10.130.16.253": connection restored

(系统日志查询)的使用
[root@zabbix ~]# journalctl -xe
【字符串替换】
sed -i 's/str1/str2/g'  filename

str1: 被替换的字符串

str2: 替换成的字符串

sed -i 's/HistoryCacheSize=512M/HistoryCacheSize=256M/g' /etc/zabbix/zabbix_server.conf
sed -i 's/ValueCacheSize=1G/ValueCacheSize=512M/g' /etc/zabbix/zabbix_server.conf
sed -i 's/StartPollers=1000/StartPollers=800/g' /etc/zabbix/zabbix_server.conf
sed -i 's/Timeout=30/Timeout=15/g' /etc/zabbix/zabbix_server.conf
sed -i 's/max_connections=500/max_connections=5000/g' /etc/my.cnf
---------------------------------------------------------------------------------------------------------
数据库优化
配置文件位置
egrep -v "^#|^$" /etc/zabbix/zabbix_server.conf
egrep -v "(^#|^$)" /etc/my.cnf

mysql

show variables like 'max_connections';(查可以看当前的最大连接数)
 
set global max_connections=1000;(设置最大连接数为1000,可以再次查看是否设置成功)
 
exit(退出)


MariaDB [(none)]> set global max_connections=1000;
Query OK, 0 rows affected (0.00 sec)

MariaDB [(none)]> show variables like 'max_connections';
+-----------------+-------+
| Variable_name   | Value |
+-----------------+-------+
| max_connections | 1000  |
+-----------------+-------+
1 row in set (0.00 sec)
查找mysql 位置

[root@zabbix ~]# which mysql
/usr/bin/mysql
查找mysql 配置文件位置
[root@zabbix ~]# mysql --verbose --help |grep -A 1 'Default options'
Default options are read from the following files in the given order:
/etc/mysql/my.cnf /etc/my.cnf ~/.my.cnf 
[root@zabbix ~]# 

show status like 'innodb_page%';
show status like 'innodb_buffer%';

 show variables like 'max_connections';
 show variables like '%max%';

innodb_buffer_pool_size

启动mariadb

# systemctl start mariadb

之前的服务管理命令还可以用

# service mariadb start

设置开机自启动

# systemctl enable mariadb

----------------------
PS是LINUX下最常用的也是非常强大的进程查看命令

[root@zabbix my.cnf.d]# ps -ef | grep mariadb
mysql    17769 17183  6 12:39 ?        00:01:19 /usr/libexec/mysqld --basedir=/usr --datadir=/var/lib/mysql --plugin-dir=/usr/lib64/mysql/plugin --log-error=/var/log/mariadb/mariadb.log --pid-file=/var/run/mariadb/mariadb.pid --socket=/var/lib/mysql/mysql.sock
root     32664  5584  0 13:00 pts/0    00:00:00 grep --color=auto mariadb

[root@zabbix my.cnf.d]# ls -l /proc/17769/fd | wc -l              查看进程数(有多少子进程,连接数)
671
[root@zabbix my.cnf.d]# 
【修改mysql(mariadb)最大打开文件数】。mariadb有限制,需要放开限制。
如果不改这 ,/etc/my.cnf的max_connections=5000就不会生效
vi /usr/lib/systemd/system/mariadb.service
[Service]下增加如下参数:最大连接数10000
LimitNOFILE=10000
LimitNPROC=10000

保存后重新加载配置,并重启mariadb

 systemctl daemon-reload

 systemctl restart mariadb

【mysq优化参数】
[root@zabbix my.cnf.d]# egrep -v "(^#|^$)" /etc/my.cnf
[mysqld]
datadir=/var/lib/mysql
socket=/var/lib/mysql/mysql.sock
symbolic-links=0
character-set-server=utf8
skip-external-locking
slow_query_log
slow_query_log_file=/var/log/mysql/slowquery.log
long_query_time=2
log-error=/var/log/mysql/log-error.log
skip-name-resolve
max_connections=5000
back_log=300
table-cache=4096
max_allowed_packet=32M
max-heap-table-size=128M
key_buffer_size=128M
sort-buffer-size=16M
join-buffer-size=16M
net_buffer_length=8K
read_buffer_size=256K
read_rnd_buffer_size=512K
myisam_sort_buffer_size=8M
thread-cache-size=16
thread-concurrency=24
query-cache-size=4096M
query-cache-limit=4M
tmp-table-size=128M
log_warnings
innodb_file_per_table=1
innodb_file_io_threads=4
innodb_open_files=2048
innodb_buffer_pool_size=8G
innodb_additional_mem_pool=16M
innodb_thread_concurrency=16
innodb_max_dirty_pages_pct=90
log-bin=mysql-bin
binlog_format=mixed
server-id=1
[mysqldump]
quick
max_allowed_packet=16M
[mysql]
no-auto-rehash
[myisamchk]
key_buffer_size=20M
sort_buffer_size=20M
read_buffer=2M
write_buffer=2M
[mysqlhotcopy]
interactive-timeout
[mysqld_safe]
log-error=/var/log/mariadb/mariadb.log
pid-file=/var/run/mariadb/mariadb.pid
!includedir /etc/my.cnf.d
---------------------------------------
zabbix服务器测试snmp客户端
snmpstatus -v 2c -c hblsj@2019 10.130.16.253                     测试支持版本
snmpwalk -v 2c -c hblsj@2019 10.130.16.253 | head -n 8     测试前8行
snmpget -v 2c -c hblsj@2019 10.130.16.253 SNMPv2-MIB::sysName.0           查看对应的值
snmpget -v 2c -c hblsj@2019 10.130.16.253 .1.3.6.1.2.1.1.5.0
snmpget -v 2c -c hblsj@2019 10.130.16.253 -On SNMPv2-MIB::sysName.0         根据名称查询OID
snmptranslate 10.130.16.253 -On SNMPv2-MIB::sysName.0            名称OID互转
snmptranslate 192.168.40.135 .1.3.6.1.2.1.1.5.0                名称OID互转

[root@zabbix ~]# snmpget -v 2c -c hblsj@2019 10.130.16.253 SNMPv2-MIB::sysName.0
SNMPv2-MIB::sysName.0 = STRING: K-HA-HX-SW-S5720
您在 /var/spool/mail/root 中有邮件
[root@zabbix ~]# snmptranslate 10.130.16.253 -On SNMPv2-MIB::sysName.0
.10.130.16.253

.1.3.6.1.2.1.1.5.0
您在 /var/spool/mail/root 中有邮件
[root@zabbix ~]# snmptranslate 192.168.40.135 .1.3.6.1.2.1.1.5.0
.192.168.40.135

SNMPv2-MIB::sysName.0
[root@zabbix ~]# 

[root@zabbix mariadb]# chown -R mysql:mysql log-error.log 
[root@zabbix mariadb]# chown -R mysql:mysql slowquery.log

查看当前目录下个文件夹的大小
du -h --max-depth=1
du -sh *

MySQL的ibdata1文件占用过大瘦身(用到了备份、还原数据库)

1、停止业务,备份一次全库
mysqldump -uroot -pAdmin@123 --all-databases  > all_mysql.sql
2、备份完成,停止数据库
systemctl stop mariadb 或者 service mysqld stop
3、修改配置文件
在[mysqld]下增加下面配置 innodb_file_per_table=1 验证配置是否生效,可以重启mysql后,执行 #service mysqld restart
4、验证
mysql -uroot -ppassword mysql
show variables like '%per_table%';

+-----------------------+-------+

| Variable_name | Value |

+-----------------------+-------+

| innodb_file_per_table | ON |

+-----------------------+-------+

1 row in set (0.00 sec)

innodb_file_per_table的状态变为ON

5、删除ibdata1文件和日志

rm -rf ibdata1
rm -rf ib_logfile*
6、还原数据库
mysql -uuser -ppassword
source all_mysql.sql
数据文件单独存放(共享表空间改为每个表独立的表空间文件)。


[root@zabbix mysql]# ll
总用量 30849344
-rw-rw----. 1 mysql mysql       16384 10月 20 15:00 aria_log.00000001
-rw-rw----. 1 mysql mysql          52 10月 20 15:00 aria_log_control
-rw-rw----. 1 mysql mysql 28473032704 10月 21 11:42 ibdata1
-rw-rw----. 1 mysql mysql     5242880 10月 21 11:42 ib_logfile0
-rw-rw----. 1 mysql mysql     5242880 10月 21 11:41 ib_logfile1
drwx------. 2 mysql mysql        4096 8月  28 2019 mysql
-rw-rw----  1 mysql mysql     2244669 10月 20 00:23 mysql-bin.000001
-rw-rw----  1 mysql mysql  1073757575 10月 20 05:00 mysql-bin.000002
-rw-rw----  1 mysql mysql   539807056 10月 20 11:45 mysql-bin.000003
-rw-rw----  1 mysql mysql      306752 10月 20 11:49 mysql-bin.000004
-rw-rw----  1 mysql mysql     2559414 10月 20 11:55 mysql-bin.000005
-rw-rw----  1 mysql mysql     1986831 10月 20 11:58 mysql-bin.000006
-rw-rw----  1 mysql mysql    13898226 10月 20 12:18 mysql-bin.000007
-rw-rw----  1 mysql mysql    20499329 10月 20 12:35 mysql-bin.000008
-rw-rw----  1 mysql mysql      816013 10月 20 12:37 mysql-bin.000009
-rw-rw----  1 mysql mysql      860521 10月 20 12:39 mysql-bin.000010
-rw-rw----  1 mysql mysql   117193919 10月 20 15:00 mysql-bin.000011
-rw-rw----  1 mysql mysql    17410750 10月 20 15:30 mysql-bin.000012
-rw-rw----  1 mysql mysql    51821330 10月 20 16:33 mysql-bin.000013
-rw-rw----  1 mysql mysql   898243680 10月 21 11:42 mysql-bin.000014
-rw-rw----  1 mysql mysql         266 10月 21 00:42 mysql-bin.index
-rw-rw----  1 mysql mysql       27415 1月   7 2020 mysql.log
srwxrwxrwx  1 mysql mysql           0 10月 21 00:42 mysql.sock
drwx------. 2 mysql mysql        4096 8月  28 2019 performance_schema
drwx------. 2 mysql mysql        8192 3月   9 2020 zabbix

 egrep -v "^#|^$" /etc/zabbix/zabbix_server.conf

systemctl restart zabbix-server
systemctl restart mariadb
 egrep -v "(^#|^$)" /etc/my.cnf
systemctl stop zabbix-server
systemctl restart mariadb
systemctl start zabbix-server

ps aux --sort -rss
ps aux: 列出目前所有的正在内存当中的程序。
a显示终端上地所有进程,包括其他用户地进程(有的进程没有终端)。
-a 显示所有终端机下执行的进程,除了阶段作业领导者之外。
u  以用户为主的格式来显示进程状况。
x  显示所有进程,不以终端机来区分。
a会包括其他用户(否则只有用户本身); x会包括其他终端;
aux就可以包括内存所有;

查看各表空间占用情况
select table_name, (data_length+index_length)/1024/1024 as total_mb, table_rows from information_schema.tables where table_schema='zabbix';

select TABLE_NAME,(sum(DATA_LENGTH)+sum(INDEX_LENGTH))/1024/1024 from information_schema.tables 
where table_schema="zabbix"
GROUP BY TABLE_NAME
ORDER BY 2 DESC

+----------------------------+------------------------------------------------+
| TABLE_NAME                 | (sum(DATA_LENGTH)+sum(INDEX_LENGTH))/1024/1024 |
+----------------------------+------------------------------------------------+
| history_uint               |                                 18868.07812500 |
| trends_uint                |                                  5117.46875000 |
| history                    |                                  1781.14062500 |

 select unix_timestamp('2020-10-16');


MariaDB [(none)]>  select unix_timestamp('2020-10-16');
+------------------------------+
| unix_timestamp('2020-10-16') |
+------------------------------+
|                   1602777600 |
+------------------------------+
1 row in set (0.00 sec)
mysqldump -uroot -pAdmin@123 --default-character-set=utf8 --databases zabbix -R --ignore-table=zabbix.history --ignore-table=zabbix.history_uint --ignore-table=zabbix.trends_uint --log-error=zabbix_base.log > zabbix_base.sql
mysqldump -uroot -pAdmin@123 --default-character-set=utf8 --databases zabbix --tables history --where="clock > 1602777600" --log-error=history.log > history.sql
mysqldump -uroot -pAdmin@123 --default-character-set=utf8 --databases zabbix --tables history_uint --where="clock > 1602777600" --log-error=history_uint.log > history_uint.sql
mysqldump -uroot -pAdmin@123 --default-character-set=utf8 --databases zabbix --tables trends_uint --where="clock > 1602777600" --log-error=trends_uint.log > trends_uint.sql


mysql -uroot -pAdmin@123 zabbix < zabbix_base.sql
mysql -uroot -pAdmin@123 zabbix < history.sql
mysql -uroot -pAdmin@123 zabbix < history_uint.sql
mysql -uroot -pAdmin@123 zabbix < trends_uint.sql

参考

https://blog.youkuaiyun.com/weixin_34290096/article/details/92697294

https://blog.youkuaiyun.com/D1208/article/details/108552453

https://www.centos.bz/2018/07/mariadb%E4%BF%AE%E6%94%B9%E6%9C%80%E5%A4%A7%E8%BF%9E%E6%8E%A5%E6%95%B0/

http://blog.itpub.net/25583515/viewspace-2687986/

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值