重启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