Zabbix监控oxidized备份状态
分类:运维技术日期:2021-04-16 - 14:15:38评论:1条作者:老谢
原理是利用oxidized的hooks功能调用zabbix_sender推送数据给zabbix_server。
oxidized的config部分
hooks: node_success: type: exec events: [node_success] cmd: ' /usr/local/zabbix/bin/zabbix_sender -z zabbix_server_ip -s zabbix_agentd(server_name) -k oxidized.datetime -o `date +%s`; /usr/local/zabbix/bin/zabbix_sender -z zabbix_server_ip -s zabbix_agentd(server_name) -k oxidized.status -o 0; /usr/local/zabbix/bin/zabbix_sender -z zabbix_server_ip -s zabbix_agentd(server_name) -k OX_EVENT -o $OX_EVENT; /usr/local/zabbix/bin/zabbix_sender -z zabbix_server_ip -s zabbix_agentd(server_name) -k OX_JOB_STATUS -o $OX_JOB_STATUS; /usr/local/zabbix/bin/zabbix_sender -z zabbix_server_ip -s zabbix_agentd(server_name) -k OX_JOB_TIME -o $OX_JOB_TIME; /usr/local/zabbix/bin/zabbix_sender -z zabbix_server_ip -s zabbix_agentd(server_name) -k OX_NODE_IP -o $OX_NODE_IP; /usr/local/zabbix/bin/zabbix_sender -z zabbix_server_ip -s zabbix_agentd(server_name) -k OX_NODE_MODEL -o $OX_NODE_MODEL; /usr/local/zabbix/bin/zabbix_sender -z zabbix_server_ip -s zabbix_agentd(server_name) -k OX_NODE_NAME -o $OX_NODE_NAME' async: false timeout: 120 node_fail: type: exec events: [node_fail] cmd: ' /usr/local/zabbix/bin/zabbix_sender -z zabbix_server_ip -s zabbix_agentd(server_name) -k oxidized.datetime -o `date +%s`; /usr/local/zabbix/bin/zabbix_sender -z zabbix_server_ip -s zabbix_agentd(server_name) -k OX_EVENT -o $OX_EVENT; /usr/local/zabbix/bin/zabbix_sender -z zabbix_server_ip -s zabbix_agentd(server_name) -k OX_JOB_STATUS -o $OX_JOB_STATUS; /usr/local/zabbix/bin/zabbix_sender -z zabbix_server_ip -s zabbix_agentd(server_name) -k OX_JOB_TIME -o $OX_JOB_TIME; /usr/local/zabbix/bin/zabbix_sender -z zabbix_server_ip -s zabbix_agentd(server_name) -k OX_NODE_IP -o $OX_NODE_IP; /usr/local/zabbix/bin/zabbix_sender -z zabbix_server_ip -s zabbix_agentd(server_name) -k OX_NODE_MODEL -o $OX_NODE_MODEL; /usr/local/zabbix/bin/zabbix_sender -z zabbix_server_ip -s zabbix_agentd(server_name) -k OX_NODE_NAME -o $OX_NODE_NAME; /usr/local/zabbix/bin/zabbix_sender -z zabbix_server_ip -s zabbix_agentd(server_name) -k oxidized.status -o 1' async: false timeout: 120 post_store: type: exec events: [post_store] cmd: ' /usr/local/zabbix/bin/zabbix_sender -z zabbix_server_ip -s zabbix_agentd(server_name) -k oxidized.datetime -o `date +%s`; /usr/local/zabbix/bin/zabbix_sender -z zabbix_server_ip -s zabbix_agentd(server_name) -k OX_EVENT -o $OX_EVENT; /usr/local/zabbix/bin/zabbix_sender -z zabbix_server_ip -s zabbix_agentd(server_name) -k OX_JOB_STATUS -o $OX_JOB_STATUS; /usr/local/zabbix/bin/zabbix_sender -z zabbix_server_ip -s zabbix_agentd(server_name) -k OX_JOB_TIME -o $OX_JOB_TIME; /usr/local/zabbix/bin/zabbix_sender -z zabbix_server_ip -s zabbix_agentd(server_name) -k OX_NODE_IP -o $OX_NODE_IP; /usr/local/zabbix/bin/zabbix_sender -z zabbix_server_ip -s zabbix_agentd(server_name) -k OX_NODE_MODEL -o $OX_NODE_MODEL; /usr/local/zabbix/bin/zabbix_sender -z zabbix_server_ip -s zabbix_agentd(server_name) -k OX_NODE_NAME -o ${OX_NODE_NAME}; /usr/local/zabbix/bin/zabbix_sender -z zabbix_server_ip -s zabbix_agentd(server_name) -k oxidized.status -o 2' async: false timeout: 120 |
Zabbix 5.0 LTS版本MySQL表分区及编译安装随记
分类:运维技术日期:2021-04-10 - 18:35:51评论:0条作者:老谢
Zabbix MySQL Database Partitioning 表分区优化禁用 housekeeping 提升历史数据清理性能
Zabbix 默认会启用 housekeeping 功能用于清理 history/trend 等历史数据,当监控服务器数量增加,保留时间有要求的情况下,housekeeping 的清理策略就会造成 Zabbix Server 性能下降,比如查询历史监控数据等。Zabbix 官方的建议是直接在数据库按照时间唯独创建分区表并定时清理,好处自然就是减少 Zabbix Server 的负担提升 Zabbix 应用对于数据库读写性能。Zabbix 3.4 之后的版本增加了对 Elasticsearch 的支持。
数据库的优化有横向和纵向扩展,这里使用数据的分布式,而分表可以看做是分布式的一种。。
在zabbix_server.conf文件中,找到如下两个参数:
(1)HousekeepingFrequency=1 解释:多久删除一次数据库里面的过期数据(间隔时间),默认一小时
(2)MaxHousekeeperDelete=5000 解释:每次删除数据量的上线(最大删除量),默认5000
SELECT table_name AS "Tables", round(((data_length + index_length) / 1024 / 1024), 2) "Size in MB" FROM information_schema.TABLES WHERE table_schema = 'zabbix' ORDER BY (data_length + index_length) DESC; +----------------------------+------------+ | Tables | Size in MB | +----------------------------+------------+ | history_uint | 16452.17 | | history | 3606.36 | | history_str | 2435.03 | | trends_uint | 722.48 | | trends | 176.28 | | history_text | 10.03 | | alerts | 7.47 | | items | 5.78 | | triggers | 3.72 | | events | 2.64 | | images | 1.53 | | items_applications | 0.70 | | item_discovery | 0.58 | | functions | 0.53 | | event_recovery | 0.38 | | item_preproc | 0.38 | ……………… |
centos7.9部署oxidized自动备份交换机配置
分类:运维技术日期:2021-03-17 - 22:13:47评论:1条作者:老谢
安装部署
实实在在不想用ubuntu server,为了后面配合zabbix做配置变更的告警出发,docker后期的配置zabbix会更麻烦,所以经过一天的折腾,oxidized成功部署在了centos7.9上,docker的部署方式在本文后半段,需要的话请往后面翻。
系统版本号:CentOS Linux release 7.9.2009 (Core)
部署步骤
yum update #更新前,建议更换国内yum源,开局可以直接更新,正式放到生产后不建议使用update更新所有rpm包 #记得关闭selinux yum install centos-release-scl #安装centos-release-scl软件源 yum install rh-ruby23 rh-ruby23-ruby-devel #安装ruby2.3版本,系统自带为2.0的ruby scl enable rh-ruby23 bash #这一步非常重要,开启ruby的环境变量,否则oxidized无法启动 yum install make cmake which sqlite-devel openssl-devel libssh2-devel ruby gcc ruby-devel libicu-devel gcc-c++ #安装相关的依赖 gem install oxidized #安装主角 gem install oxidized-script oxidized-web #安装web界面 ruby -v [root@localhost ~]# ruby -v ruby 2.3.8p459 (2018-10-18 revision 65136) [x86_64-linux] #检查ruby版本是否正确,应大于2.3 which ruby [root@localhost ~]# which ruby /opt/rh/rh-ruby23/root/usr/bin/ruby #检查ruby路径 vim /etc/profile.d/rh-ruby22.sh #!/bin/bash source /opt/rh/rh-ruby23/enable export X_SCLS="`scl enable rh-ruby23 'echo $X_SCLS'`" export PATH=$PATH:/opt/rh/rh-ruby23/root/usr/bin/ruby #配置环境变量的自启动 ln -s /opt/rh/rh-ruby23/root/usr/local/bin/oxidized /usr/local/bin/oxidized vim /lib/systemd/system/oxidized.service # /lib/systemd/system/oxidized.service [Unit] Description=Oxidized - Network Device Configuration Backup Tool After=network-online.target multi-user.target Wants=network-online.target [Service] ExecStart=/usr/local/bin/oxidized KillSignal=SIGKILL User=root [Install] WantedBy=multi-user.target #以上使用root用户运行oxidized,一定要确保已经做了/usr/local/bin/oxidized的ls链接 chmod +x /lib/systemd/system/oxidized.service vi /etc/ld.so.conf #增加 /opt/rh/rh-ruby23/root/usr/lib64 ldconfig ldconfig -v #检查有没有ruby的so库 chmod +x /lib/systemd/system/oxidized.service #接着需要创建router.db和config配置文件,这些请参考以下docker的配置流程,完全一致 [root@localhost ~]# systemctl enable oxidized.service Created symlink from /etc/systemd/system/multi-user.target.wants/oxidized.service to /usr/lib/systemd/system/oxidized.service. [root@localhost ~]# systemctl start oxidized.service [root@localhost ~]# systemctl status oxidized.service ● oxidized.service - Oxidized - Network Device Configuration Backup Tool Loaded: loaded (/usr/lib/systemd/system/oxidized.service; disabled; vendor preset: disabled) Active: active (running) since Wed 2021-03-24 18:59:37 CST; 2s ago Main PID: 6767 (oxidized) CGroup: /system.slice/oxidized.service └─6767 puma 3.11.4 (tcp://0.0.0.0:8888) [/] Mar 24 18:59:37 localhost.localdomain oxidized[6767]: I, [2021-03-24T18:59:37.635254 #6767] INFO -- : Oxidized starting, running as pid 6767 Mar 24 18:59:37 localhost.localdomain oxidized[6767]: I, [2021-03-24T18:59:37.635810 #6767] INFO -- : lib/oxidized/nodes.rb: Loading nodes Mar 24 18:59:37 localhost.localdomain oxidized[6767]: I, [2021-03-24T18:59:37.711327 #6767] INFO -- : lib/oxidized/nodes.rb: Loaded 1 nodes Mar 24 18:59:37 localhost.localdomain oxidized[6767]: Puma starting in single mode... Mar 24 18:59:37 localhost.localdomain oxidized[6767]: * Version 3.11.4 (ruby 2.3.8-p459), codename: Love Song Mar 24 18:59:37 localhost.localdomain oxidized[6767]: * Min threads: 0, max threads: 16 Mar 24 18:59:37 localhost.localdomain oxidized[6767]: * Environment: development Mar 24 18:59:37 localhost.localdomain oxidized[6767]: * Listening on tcp://0.0.0.0:8888 Mar 24 18:59:37 localhost.localdomain oxidized[6767]: Use Ctrl-C to stop Mar 24 18:59:39 localhost.localdomain oxidized[6767]: W, [2021-03-24T18:59:39.990844 #6767] WARN -- : /192.168.1.1 status no_connection, retry attempt 1 [root@localhost ~]# firewall-cmd --zone=public --add-port=8585/tcp --permanent systemctl reload firewalld.service |
如果不配置router.db是无法启动oxidized服务的,NGINX、时间等其他问题,也都和docker部署配置一致,请往下参考即可,最后请记得关闭防火墙或放行oxidized的web端口:)
Surface Pro 4更换屏幕与电池
分类:乱七八糟日期:2021-02-01 - 17:07:18评论:13条作者:老谢
VCSA中删除horizon view链接克隆生成的replica-受保护副本
分类:虚拟化日期:2020-11-17 - 12:32:46评论:0条作者:老谢
测试期间直接删除了composer服务器,导致link clone生成的replica-xxx命令的副本母机无法删除,需要先解除保护后才能从VCSA中。
登录composer服务器,停用掉view composer服务,接着cmd先cd到C:\Program Files (x86)\VMware\VMware View Composer目录下,执行以下命令:
SviConfig -operation=UnprotectEntity -VcUrl=https://VC地址/sdk -DsnName=数据库名 -DbUsername=sa -DbPassword=SA密码 -VcUsername=Administrator@vsphere.local -VcPassword=VC密码 -InventoryPath="/Datacenter/vm/VMwareViewComposerReplicaFolder/replica-96553915-fd20-4fca-9c8c-be3bc9d892e2" -Recursive=true |
Esxi6.7U3安装SanDisk Fusion-io 1.3T ioscale Pci SSD加速卡驱动
分类:虚拟化日期:2020-11-16 - 21:56:22评论:0条作者:老谢
[root@localhost:~] esxcli software vib install -v /vmfs/volumes/192.168.1.103/ioscale/vib20/scsi-iomemory-vsl/SNDK_bootbank_scsi-iomemory-vsl_3.2.16.1731-1OEM.600.0.0. 2159203.vib Installation Result Message: The update completed successfully, but the system needs to be rebooted for the changes to be effective. Reboot Required: true VIBs Installed: SNDK_bootbank_scsi-iomemory-vsl_3.2.16.1731-1OEM.600.0.0.2159203 VIBs Removed: VIBs Skipped: [root@localhost:~] |
搭建ELK日志系统分析处理fortigate的syslog日志
分类:运维技术日期:2020-11-13 - 13:33:23评论:1条作者:老谢
现使用的fortigate防火墙软件版本有bug导致fortiview的流量分析经常报错,但因设备托管在机房不考虑到远程升级存在风险,所以还是考虑将防火墙日志通过syslog输出给日志平台进行分析处理。
ELK简介
ELK 不是一款软件,而是 Elasticsearch、Logstash 和 Kibana 三种软件产品的首字母缩写。这三者都是开源软件,通常配合使用,而且又先后归于 Elastic.co 公司名下,所以被简称为 ELK Stack。根据 Google Trend 的信息显示,ELK Stack 已经成为目前最流行的集中式日志解决方案。
Elasticsearch:分布式搜索和分析引擎,具有高可伸缩、高可靠和易管理等特点。基于 Apache Lucene 构建,能对大容量的数据进行接近实时的存储、搜索和分析操作。通常被用作某些应用的基础搜索引擎,使其具有复杂的搜索功能;
Logstash:数据收集引擎。它支持动态的从各种数据源搜集数据,并对数据进行过滤、分析、丰富、统一格式等操作,然后存储到用户指定的位置;
Kibana:数据分析和可视化平台。通常与 Elasticsearch 配合使用,对其中数据进行搜索、分析和以统计图表的方式展示;
Filebeat:ELK 协议栈的新成员,一个轻量级开源日志文件数据搜集器,基于 Logstash-Forwarder 源代码开发,是对它的替代。在需要采集日志数据的 server 上安装 Filebeat,并指定日志目录或日志文件后,Filebeat 就能读取数据,迅速发送到 Logstash 进行解析,亦或直接发送到 Elasticsearch 进行集中式存储和分析。
ELK部署架构
因为现在只有1台fortigate防火墙的日志需要交给ELK处理,为方便测试学习,故将ELK组件安装在一台测试服务器上。
在这种架构中,只有一个 Logstash、Elasticsearch 和 Kibana 实例。Logstash 通过输入插件从多种数据源(比如日志文件、标准输入 Stdin 等)获取数据,再经过滤插件加工数据,然后经 Elasticsearch 输出插件输出到 Elasticsearch,通过 Kibana 展示。
华为USG防火墙配置NAT映射回流解决内网通过公网映射访问内部服务器
分类:网站技术日期:2020-11-12 - 12:08:26评论:1条作者:老谢
标题有点绕,问题就是在公网出接口上配置了内网某台服务器的端口映射,内网的普通用户通过内网地址访问正常,但无法通过公网IP进行正常访问,拓扑图如下:
上图以出接口地址100.100.100.100:80映射为192.168.1.11:80为例,实际问题为192.168.1.100与192.168.1.110无法通过100.100.100.100:80进行访问,但通过互联网访问映射端口正常。
最新评论
无敌风火轮:和索尼没啥关系,这是索尼电脑的...
zhudong:老大,有VMware Horizon 7.12相关资...
qx:所有连接失效了,求一份
RainH:大佬,这个111.111.111.111是什么鬼?...
王叨叨:幸福的人都是相似的,不幸的人各有各...
李海博客:李海博客前来学习!
明月登楼:最近使用了ZeroSSL证书,感觉还不...
鸟叔:尽管不知道干啥的,还是来顶一下
鸟叔:鸟叔来贵博客参观学习,通过十年之约穿...
周良粥凉:往前看。