软件简介

BigOps是由北京运维帮科技有限公司研发的自动化运维管理平台,我们响应国家「信创」号召自主研发,平台融入了ITIL、DevOps、SRE等多种运维思想,通过自动化、标准化、可视化、智能化的管理协助企业提供运维效率、降低人力成本。

BigOps分为社区版和商业版。社区版已有超过300家企业使用,通过社区用户使用反馈,我们不断的完善软件功能,形成良性的社区生态。商业版可以为客户提供更多的定制开发和专业技术支持服务,帮助企业快速提高运维服务水平,当前已为多家金融和互联网企业提供服务。

通过不断的积累和发展,BigOps自动化运维管理平台已经成为运维人身边最好的运维工具。

开发工具

功能 工具
前端 iView、Vue
后端 JAVA、Shell
数据存储 MySQL、ElasticSearch
SQL审核 goInception
配管工具 Ansible

平台功能

设计原则:围绕「运维即服务」进行整体设计,内置管控及轻量流程。

设计依据:参考ITIL、DevOps、SRE等方法论,具备ITSM软件能力。

整体目标:提高运维效率、提升运维质量、保障运维安全、降低运维成本。

平台架构

平台采用分布式架构,由SSO、WORK、BigServer、Proxy等组件构成,支持上万台客户端主机的统一管理。

平台组件

组件 端口 用途
SSO+WORK+BigServer 30001、30003、60001 用户统一认证、Web管理页面、日常数据处理
Proxy 60001 代理服务器
MySQL 3306 数据存储
ElasticSearch+Kibana+Logstash+Cerebro 9200、9300、5601、6514(tcp/udp)、6515(tcp)、9000 数据存储
Ansible 主机连接通道

BigServer组件

功能 执行时间
测试ES连接状态 每分钟(延迟)
把网络主机id复制到net_conf表 每分钟(延迟)
测试Proxy服务器网管用户密钥 每5分钟(延迟)
置空IPAM里不容许扫描和发现的IP的扫描时间、扫描状态和端口、mac地址 每10分钟(延迟)
计算es里监控历史数据的最大值、平均值、最小值,放趋势索引 每小时(整点)
清除数据库脏数据clean_duty 每30分钟(延迟)
清除数据库指定的历史数据clean_history 每30分钟(延迟)
IPAM里检查IP和主机绑定 每30分钟(延迟)
删除SSO、WORK、BigServer、logs、yml目录1天以前日志 每天凌晨1点
主机费用 每天凌晨1点
删除es设置里保留天数以前的数据 每天凌晨1点
删除es过期索引 每天凌晨1点
备份数据库到目录/opt/bigops-bak 每天凌晨1点
清理3天内没更新的软件版本 每天凌晨1点
多云导入 2个定时:每分钟,处理更新时间为空的(延迟)、每30分钟(延迟)
主机发现 2个定时:每分钟,处理更新时间为空的(延迟)、每10分钟(延迟)
bigops主机和zabbix主机自动绑定 每30分钟(延迟)

Proxy组件

功能 执行时间
上报proxy版本和时间,检查nmap、fping路径等路径 每分钟(延迟)
IPAM扫描信息 每2分钟(延迟)
更新bigagent.conf 每10分钟(延迟)
删除hostmon_plugins、hostinfo_plugins、hoststatus_plugins插件temp目录下3天以上文件,同时删除logs下1天以上的文件。 每天凌晨1点
备份网络设备配置 2个定时:每分钟处理ctime为空的,每30分钟处理所有(延迟)
密码测试和snmp测试 2个定时:每分钟处理测试时间为空的,每10分钟处理所有(延迟)
主机运行状态采集(ps、netstat、crontab) 2个定时:每分钟处理更新时间为空并,每10分钟处理所有机器(延迟)
主机信息采集 2个定时:每分种处理测试时间为空,每12小时处理所有机器(延迟)
监控信息采集 每分钟

Ansible组件

开源的配置管理工具有很多,比如Puppet、SaltStack、Ansible等,在对比了这三个运维管理工具之后,我们发现Ansible更加轻量化,更容易被广泛使用起来。

从上述对比表中可以看出,Ansible的优势包括:

无客户端

这是Ansible被广泛应用的一个最大原因,被管设备上(如交换机)只需要支持SSH和Python2.5以上版本即可,不需要额外按照Ansible的客户端进行适配;

模块化

Ansible也可以视作没有服务端,我们可以通过调用特定模块,完成特定任务;

安全

基于OpenSSH的实现,加密远程传输中的数据;

支持Playbooks编排任务

这个是Ansible的最大特色,Playbooks可以帮助运维人员将复杂任务碎片化,且能够进行批量地部署复杂任务。Playbooks的编写也基于易读的YAML语法,操作容易。

results matching ""

    No results matching ""