在运维过程中经常会统计一些指标以图形化的方式展现,可用的开源软件比较多,本文记录一下grafana和influxdb使用
一、grafana和influxdb安装
grafana和influxdb安装比较简单,直接下载rpm包安装就行
grafana-4.4.3-1.x86_64.rpm influxdb-1.8.0.x86_64.rpm 通过rpm -ivh grafana-4.4.3-1.x86_64.rpm 安装 grafana 启动:/bin/systemctl start grafana-server.service influxdb启动:systemctl start influxd
二、influxdb简单使用
进入influxdb /usr/bin/influx 带认证时 /usr/bin/influx -username admin -password xxxx 创建数据库:create database test_db 列出数据库:show databases 删除数据库:drop database test_db influxdb中无需特地创建表 删除表:drop measurement test
通过api的方式增加数据 curl -i -XPOST 'http://192.168.149.136:8086/write?db=db01' -u admin:xxxx --data-binary 'table01,host=server01,domain=a.com push=4770136' 说明: db=db01是指使用db01这个数据库。 -u admin:xxxx 添加认证 --data-binary后面是需插入数据 table01是表名 tag字段是host和domain,值分别为:server01和a.com field字段是push 值是 4770136 tag 和field通过空格分开 其中,db参数必须指定一个数据库中已经存在的数据库名,数据体的格式遵从InfluxDB规定格式,首先是表名,后面是tags,然后是field,最后是时间戳。tags、field和时间戳三者之间以空格相分隔。时间戳也可以不指定默认
三、grafana使用
首先需要配置数据源
添加图表
Templating使用
metric 查询中,不必硬编码诸如server, application and sensor name 之类的东西,而是可以在它们的位置使用变量。 变量显示在dashboard顶部的下拉式选择框中。这些下拉菜单就可以很容易地改变在你的仪表板显示的数据。 Query variable 如果你添加的template变量,类型为Query,你可以写一个InfluxDB(meta data)查询。这些查询可以返回诸如measurement 名称, key 名称or key 值。 例如,你可以有一个变量包含标签为hostname的所有值,如果你指定一个查询在templating variable Query设置。 SHOW TAG VALUES WITH KEY = "hostname" 还可以创建嵌套变量。例如,如果您有另一个变量,例如region。然后,您可以拥有hosts变量,只显示当前选择区域中的主机,查询如下: SHOW TAG VALUES WITH KEY = "hostname" WHERE region =~ /$region/
关键字段解释 Name:变量的名称,这是您在Metric查询中引用变量时使用的名称。必须是唯一的,不包含空白。 Type:定义变量类型 Query:这个变量类型允许您编写一个数据源查询,该查询通常返回一个 metric names, tag values or keys。例如,返回erver names, sensor ids or data centers列表的查询。 Label:此变量的下拉列表的名称。 Query options Refresh:控制何时更新变量选项列表(下拉列表中的值)。 On Dashboard Load:会使整个dashboard加载变慢,需要使变量查询完成,dashboard才初始化。 On Time Range Change:如果变量选项查询包含time range筛选器或依赖于dashboard time range,则仅将其设置为实时范围更改。 Query:数据源的查询表达式。 Regex:Regex to filter or capture specific parts of the names return by your data source query. Optional. Sort:定义下拉列表中选项的排序顺序。 Disabled:禁用意味着数据源查询返回的选项顺序将被使用 Selection Options Multi-value:启用这个功能,变量的值就可以选择多个,具体表现在变量对应的下拉框中可以选多个值的组合。 Include All option:启用这个功能,变量下拉框中就多了一个all选项。