数据采集框架¶
所有的数据都通过zabbix采集,高频数据直接存入zabbix,低频数据存入数据库后再存入zabbix 
高频数据采集¶
比如CPU占用率等硬件相关信息(zabbix默认会采集),这里以机房温度为例,展示高频数据的采集思路。 首先需要准备一段可以获取机房温度的代码
# 这里根据传感器编写一个脚本获取传感器实时温度
/root/02Software/zabbix/temp_wet/get_temp.py
cd /etc/zabbix/zabbix_agent2.d
vi get_temp.conf
UserParameter=env.temp,python3 /etc/zabbix/zabbix_agent2.d/temp_wet/get_temp.py
主机→监控项配置该数据相关信息即可 低频数据采集¶
比如IArk平台各物种每日采集数据量等需要一定计算时间的任务,这里以各国每日数据新增量为例,展示低频数据的采集思路。 首先仍然准备获取相关数据的代码,这里直接在IArk系统中编写一个接口,方便随时调用。
class stat_new_sample_by_geo(APIView):
description="统计各地区最近一天/周新增的数据"
record = openapi.Schema(description='是否记录统计结果',
type=openapi.TYPE_BOOLEAN, example=False)
@swagger_auto_schema(operation_description=description,operation_summary="统计各地区最近一天/周新增的数据",request_body=openapi.Schema(
type=openapi.TYPE_OBJECT,
properties={'record': record}
))
@action(methods=['post'], detail=False)
def post(self, request):
request_data = request.data
record = request_data.get('record', False)
res=fn_new_sample_by_geo(record=record)
return Response(res, status=status.HTTP_200_OK)
#这里将一天执行一次的任务都放在一起,所以不需要再去配置celery定时执行
def run_all_1d_cron():
#1、调用接口(这里直接调用函数即可)
##统计国家分布
fn_stat_sample_by_country(record=True)
UserParameter=total_sample_by_country,python3 /etc/zabbix/zabbix_agent2.d/get_monitor/get_item_value.py -t sample -l total_sample_by_country -i 86400
本站总访问量 次
Authors:
