Telegraf를 통해 HAProxy의 통계 정보를 InflumxDB에 넣기
개시하다
최근의 로그와 자원 상황을 파악하기 위해 InflumxDB를 활용할 계획입니다. @takaidohigasi의 소개가 있기 때문에 InflumxDB사가 제공하는 도량 수집 도구인Telegraf를 사용했기 때문에 미리 적어두었습니다.
자세한 Telegraf에 대한 설명은 다음을 참조하십시오.
http://qiita.com/takaidohigasi/items/fdc81db8336aa7601fc9
Telegraf 소개
https://github.com/influxdb/telegraf
^에 기재된 것은 InflumxDB에 데이터를 등록하는 GO제 수집 도구입니다.
지원되는 메트릭은 다음과 같습니다.
https://github.com/influxdb/telegraf
^에 기재된 것은 InflumxDB에 데이터를 등록하는 GO제 수집 도구입니다.
지원되는 메트릭은 다음과 같습니다.
컨디션
Install
RPM 패키지가 제공되므로 다음 명령으로 설치합니다.$ sudo yum -y install http://get.influxdb.org/telegraf/telegraf-0.1.7-1.x86_64.rpm
$
설정
다음 명령으로 샘플의 설정 파일을 만듭니다.$ telegraf -sample-config > telegraf.toml
HAProxy 플러그인 구성
telegraf의 편리한 기능으로 다음 명령을 통해 각종 플러그인의 설정 방법을 확인할 수 있습니다.$ /opt/telegraf/telegraf -usage haproxy
# Read metrics of haproxy, via socket or csv stats page
[haproxy]
# An array of address to gather stats about. Specify an ip on hostname
# with optional port. ie localhost, 10.10.3.33:1936, etc.
#
# If no servers are specified, then default to 127.0.0.1:1936
servers = ["http://myhaproxy.com:1936", "http://anotherhaproxy.com:1936"]
# Or you can also use local socket(not work yet)
# servers = ["socket:/run/haproxy/admin.sock"]$
^를 참고로 다음과 같은 설정 파일을 작성합니다.
참고: 여기에 지정된 URI는 통계 페이지가 아닌 통계 정보의 CSV 파일입니다.
telegraf.toml# Telegraf configuration
# Telegraf is entirely plugin driven. All metrics are gathered from the
# declared plugins.
# Even if a plugin has no configuration, it must be declared in here
# to be active. Declaring a plugin means just specifying the name
# as a section with no variables. To deactivate a plugin, comment
# out the name and any variables.
# Use 'telegraf -config telegraf.toml -test' to see what metrics a config
# file would generate.
# One rule that plugins conform to is wherever a connection string
# can be passed, the values '' and 'localhost' are treated specially.
# They indicate to the plugin to use their own builtin configuration to
# connect to the local system.
# NOTE: The configuration has a few required parameters. They are marked
# with 'required'. Be sure to edit those to make this configuration work.
# Tags can also be specified via a normal map, but only one form at a time:
[tags]
# dc = "us-east-1"
# Configuration for telegraf itself
[agent]
interval = "10s"
# debug = false
hostname = "telegraf01"
# Read metrics of haproxy, via socket or csv stats page
###############################################################################
# OUTPUTS #
###############################################################################
[outputs]
# Configuration for influxdb server to send metrics to
[outputs.influxdb]
# The full HTTP endpoint URL for your InfluxDB instance
url = "http://localhost:8086" # required.
# The target database for metrics. This database must already exist
database = "telegraf" # required.
# Connection timeout (for the connection with InfluxDB), formatted as a string.
# Valid time units are "ns", "us" (or "µs"), "ms", "s", "m", "h".
# If not provided, will default to 0 (no timeout)
# timeout = "5s"
# username = "telegraf"
# password = "metricsmetricsmetricsmetrics"
# Set the user agent for the POSTs (can be useful for log differentiation)
# user_agent = "telegraf"
###############################################################################
# PLUGINS #
###############################################################################
[haproxy]
# An array of address to gather stats about. Specify an ip on hostname
# with optional port. ie localhost, 10.10.3.33:1936, etc.
#
# If no servers are specified, then default to 127.0.0.1:1936
servers = ["http://localhost:8080/haproxy/stats;csv"]
# Or you can also use local socket(not work yet)
# servers = ["socket:/run/haproxy/admin.sock"]
HAProxy 설정/시작
HAProxy 설정 파일에 다음 내용을 추가하고 시작합니다.
/etc/haproxy/haproxy.cfg# admin #
listen hastats
bind *:8080
mode http
stats enable
stats show-legends
stats uri /haproxy/stats
시작 후 브라우저*:8080/haproxy/stats
에 액세스하면 다음 화면이 표시됩니다.
화면 오른쪽 상단CSV export
링크를 클릭하면 CSV 파일이 표시되므로 이 링크를telegraf의 설정 파일로 지정합니다.
시동 걸어봐.
다음 명령으로foregroud를 시작합니다.$ /opt/telegraf/telegraf -config=telegraf.toml
2015/09/01 12:03:47 Starting Telegraf (version 0.1.7)
2015/09/01 12:03:47 Loaded outputs: influxdb
2015/09/01 12:03:47 Loaded plugins: haproxy
2015/09/01 12:03:47 Tags enabled: host=telegraf01
한동안 inflexDB를 통해 확인한 결과telegraf라는 DB에는 다양한 measurements가 있음을 발견했다.
Grafana에서 봐요.
Datasource에telegraf라는 DB를 추가하여Dashboard에서 http의responsecode를 표시하면 다음과 같이 표시됩니다.
Responsecode의 누적 값으로 표시됩니다.
이것 괜찮아요?
끝.
Reference
이 문제에 관하여(Telegraf를 통해 HAProxy의 통계 정보를 InflumxDB에 넣기), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다
https://qiita.com/akito1986/items/3d5b99b0674af8f0050e
텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
우수한 개발자 콘텐츠 발견에 전념
(Collection and Share based on the CC Protocol.)
$ sudo yum -y install http://get.influxdb.org/telegraf/telegraf-0.1.7-1.x86_64.rpm
$
다음 명령으로 샘플의 설정 파일을 만듭니다.
$ telegraf -sample-config > telegraf.toml
HAProxy 플러그인 구성
telegraf의 편리한 기능으로 다음 명령을 통해 각종 플러그인의 설정 방법을 확인할 수 있습니다.$ /opt/telegraf/telegraf -usage haproxy
# Read metrics of haproxy, via socket or csv stats page
[haproxy]
# An array of address to gather stats about. Specify an ip on hostname
# with optional port. ie localhost, 10.10.3.33:1936, etc.
#
# If no servers are specified, then default to 127.0.0.1:1936
servers = ["http://myhaproxy.com:1936", "http://anotherhaproxy.com:1936"]
# Or you can also use local socket(not work yet)
# servers = ["socket:/run/haproxy/admin.sock"]$
^를 참고로 다음과 같은 설정 파일을 작성합니다.
참고: 여기에 지정된 URI는 통계 페이지가 아닌 통계 정보의 CSV 파일입니다.
telegraf.toml# Telegraf configuration
# Telegraf is entirely plugin driven. All metrics are gathered from the
# declared plugins.
# Even if a plugin has no configuration, it must be declared in here
# to be active. Declaring a plugin means just specifying the name
# as a section with no variables. To deactivate a plugin, comment
# out the name and any variables.
# Use 'telegraf -config telegraf.toml -test' to see what metrics a config
# file would generate.
# One rule that plugins conform to is wherever a connection string
# can be passed, the values '' and 'localhost' are treated specially.
# They indicate to the plugin to use their own builtin configuration to
# connect to the local system.
# NOTE: The configuration has a few required parameters. They are marked
# with 'required'. Be sure to edit those to make this configuration work.
# Tags can also be specified via a normal map, but only one form at a time:
[tags]
# dc = "us-east-1"
# Configuration for telegraf itself
[agent]
interval = "10s"
# debug = false
hostname = "telegraf01"
# Read metrics of haproxy, via socket or csv stats page
###############################################################################
# OUTPUTS #
###############################################################################
[outputs]
# Configuration for influxdb server to send metrics to
[outputs.influxdb]
# The full HTTP endpoint URL for your InfluxDB instance
url = "http://localhost:8086" # required.
# The target database for metrics. This database must already exist
database = "telegraf" # required.
# Connection timeout (for the connection with InfluxDB), formatted as a string.
# Valid time units are "ns", "us" (or "µs"), "ms", "s", "m", "h".
# If not provided, will default to 0 (no timeout)
# timeout = "5s"
# username = "telegraf"
# password = "metricsmetricsmetricsmetrics"
# Set the user agent for the POSTs (can be useful for log differentiation)
# user_agent = "telegraf"
###############################################################################
# PLUGINS #
###############################################################################
[haproxy]
# An array of address to gather stats about. Specify an ip on hostname
# with optional port. ie localhost, 10.10.3.33:1936, etc.
#
# If no servers are specified, then default to 127.0.0.1:1936
servers = ["http://localhost:8080/haproxy/stats;csv"]
# Or you can also use local socket(not work yet)
# servers = ["socket:/run/haproxy/admin.sock"]
HAProxy 설정/시작
HAProxy 설정 파일에 다음 내용을 추가하고 시작합니다.
/etc/haproxy/haproxy.cfg# admin #
listen hastats
bind *:8080
mode http
stats enable
stats show-legends
stats uri /haproxy/stats
시작 후 브라우저*:8080/haproxy/stats
에 액세스하면 다음 화면이 표시됩니다.
화면 오른쪽 상단CSV export
링크를 클릭하면 CSV 파일이 표시되므로 이 링크를telegraf의 설정 파일로 지정합니다.
시동 걸어봐.
다음 명령으로foregroud를 시작합니다.$ /opt/telegraf/telegraf -config=telegraf.toml
2015/09/01 12:03:47 Starting Telegraf (version 0.1.7)
2015/09/01 12:03:47 Loaded outputs: influxdb
2015/09/01 12:03:47 Loaded plugins: haproxy
2015/09/01 12:03:47 Tags enabled: host=telegraf01
한동안 inflexDB를 통해 확인한 결과telegraf라는 DB에는 다양한 measurements가 있음을 발견했다.
Grafana에서 봐요.
Datasource에telegraf라는 DB를 추가하여Dashboard에서 http의responsecode를 표시하면 다음과 같이 표시됩니다.
Responsecode의 누적 값으로 표시됩니다.
이것 괜찮아요?
끝.
Reference
이 문제에 관하여(Telegraf를 통해 HAProxy의 통계 정보를 InflumxDB에 넣기), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다
https://qiita.com/akito1986/items/3d5b99b0674af8f0050e
텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
우수한 개발자 콘텐츠 발견에 전념
(Collection and Share based on the CC Protocol.)
$ /opt/telegraf/telegraf -usage haproxy
# Read metrics of haproxy, via socket or csv stats page
[haproxy]
# An array of address to gather stats about. Specify an ip on hostname
# with optional port. ie localhost, 10.10.3.33:1936, etc.
#
# If no servers are specified, then default to 127.0.0.1:1936
servers = ["http://myhaproxy.com:1936", "http://anotherhaproxy.com:1936"]
# Or you can also use local socket(not work yet)
# servers = ["socket:/run/haproxy/admin.sock"]$
# Telegraf configuration
# Telegraf is entirely plugin driven. All metrics are gathered from the
# declared plugins.
# Even if a plugin has no configuration, it must be declared in here
# to be active. Declaring a plugin means just specifying the name
# as a section with no variables. To deactivate a plugin, comment
# out the name and any variables.
# Use 'telegraf -config telegraf.toml -test' to see what metrics a config
# file would generate.
# One rule that plugins conform to is wherever a connection string
# can be passed, the values '' and 'localhost' are treated specially.
# They indicate to the plugin to use their own builtin configuration to
# connect to the local system.
# NOTE: The configuration has a few required parameters. They are marked
# with 'required'. Be sure to edit those to make this configuration work.
# Tags can also be specified via a normal map, but only one form at a time:
[tags]
# dc = "us-east-1"
# Configuration for telegraf itself
[agent]
interval = "10s"
# debug = false
hostname = "telegraf01"
# Read metrics of haproxy, via socket or csv stats page
###############################################################################
# OUTPUTS #
###############################################################################
[outputs]
# Configuration for influxdb server to send metrics to
[outputs.influxdb]
# The full HTTP endpoint URL for your InfluxDB instance
url = "http://localhost:8086" # required.
# The target database for metrics. This database must already exist
database = "telegraf" # required.
# Connection timeout (for the connection with InfluxDB), formatted as a string.
# Valid time units are "ns", "us" (or "µs"), "ms", "s", "m", "h".
# If not provided, will default to 0 (no timeout)
# timeout = "5s"
# username = "telegraf"
# password = "metricsmetricsmetricsmetrics"
# Set the user agent for the POSTs (can be useful for log differentiation)
# user_agent = "telegraf"
###############################################################################
# PLUGINS #
###############################################################################
[haproxy]
# An array of address to gather stats about. Specify an ip on hostname
# with optional port. ie localhost, 10.10.3.33:1936, etc.
#
# If no servers are specified, then default to 127.0.0.1:1936
servers = ["http://localhost:8080/haproxy/stats;csv"]
# Or you can also use local socket(not work yet)
# servers = ["socket:/run/haproxy/admin.sock"]
HAProxy 설정 파일에 다음 내용을 추가하고 시작합니다.
/etc/haproxy/haproxy.cfg
# admin #
listen hastats
bind *:8080
mode http
stats enable
stats show-legends
stats uri /haproxy/stats
시작 후 브라우저*:8080/haproxy/stats
에 액세스하면 다음 화면이 표시됩니다.화면 오른쪽 상단
CSV export
링크를 클릭하면 CSV 파일이 표시되므로 이 링크를telegraf의 설정 파일로 지정합니다.시동 걸어봐.
다음 명령으로foregroud를 시작합니다.$ /opt/telegraf/telegraf -config=telegraf.toml
2015/09/01 12:03:47 Starting Telegraf (version 0.1.7)
2015/09/01 12:03:47 Loaded outputs: influxdb
2015/09/01 12:03:47 Loaded plugins: haproxy
2015/09/01 12:03:47 Tags enabled: host=telegraf01
한동안 inflexDB를 통해 확인한 결과telegraf라는 DB에는 다양한 measurements가 있음을 발견했다.
Grafana에서 봐요.
Datasource에telegraf라는 DB를 추가하여Dashboard에서 http의responsecode를 표시하면 다음과 같이 표시됩니다.
Responsecode의 누적 값으로 표시됩니다.
이것 괜찮아요?
끝.
Reference
이 문제에 관하여(Telegraf를 통해 HAProxy의 통계 정보를 InflumxDB에 넣기), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다
https://qiita.com/akito1986/items/3d5b99b0674af8f0050e
텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
우수한 개발자 콘텐츠 발견에 전념
(Collection and Share based on the CC Protocol.)
$ /opt/telegraf/telegraf -config=telegraf.toml
2015/09/01 12:03:47 Starting Telegraf (version 0.1.7)
2015/09/01 12:03:47 Loaded outputs: influxdb
2015/09/01 12:03:47 Loaded plugins: haproxy
2015/09/01 12:03:47 Tags enabled: host=telegraf01
Datasource에telegraf라는 DB를 추가하여Dashboard에서 http의responsecode를 표시하면 다음과 같이 표시됩니다.
Responsecode의 누적 값으로 표시됩니다.
이것 괜찮아요?
끝.
Reference
이 문제에 관하여(Telegraf를 통해 HAProxy의 통계 정보를 InflumxDB에 넣기), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다 https://qiita.com/akito1986/items/3d5b99b0674af8f0050e텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
우수한 개발자 콘텐츠 발견에 전념 (Collection and Share based on the CC Protocol.)