总览
如果您使用和管理着Kubernetes集群以及您的应用运行在Kubernetes之上,请参考 在K8s中使用grafana-agent。
在Windows环境安装和运行grafana-agent
- 从Grafana github releases下载Windows安装文件;
- 运行安装文件后,会对grafana-agent进行配置,并注册为Windows服务;
- 更详细的配置文档,可以参考;
在Docker中运行grafana-agent
如果您的宿主机上运行有服务,那么使用docker
运行grafana-agent
是最快捷的方式。在命令行终端运行以下命令,即可在容器中启动grafana-agent
:
2. 启动 grafana-agent 容器
docker run \
-v /tmp/agent:/etc/agent/data \
-v /tmp/grafana-agent-config.yaml:/etc/agent/agent.yaml \
-p 12345:12345 \
-d \
grafana/agent:v0.23.0 \
--config.file=/etc/agent/agent.yaml \
--prometheus.wal-directory=/etc/agent/data
上述步骤中,几个需要注意的点:
remote_write
和basic_auth
,请根据自己的实际情况填写;-p
把容器中的端口12345映射到主机,-d
把容器进程放到后台运行;-v /tmp/agent:/etc/agent/data
是把宿主机的目录/tmp/agent
映射到容器中/etc/agent/data
,用于grafana-agent
持久化保存其WAL
(Write Ahead Log) ;-v /tmp/grafana-agent-config.yaml:/etc/agent/agent.yaml
是把grafana-agent
的配置文件,放置到容器指定的位置,即/etc/agent/agent.yaml
您可以通过直接 curl http://localhost:12345/metrics
来验证数据的产生是否符合预期,正常情况下会显示如下:
agent_build_info{branch="HEAD",goversion="go1.17.6",revision="36b8ca75",version="v0.23.0"} 1
agent_inflight_requests{method="GET",route="metrics"} 1
agent_metrics_active_configs 1
agent_tcp_connections{protocol="grpc"} 0
agent_tcp_connections{protocol="http"} 2
go_gc_duration_seconds_count 6
go_goroutines 50
log_messages_total{level="debug"} 44
log_messages_total{level="error"} 0
log_messages_total{level="info"} 13
log_messages_total{level="warn"} 0
loki_logql_querystats_duplicates_total 0
loki_logql_querystats_ingester_sent_lines_total 0
net_conntrack_dialer_conn_attempted_total{dialer_name="local_scrape"} 1
net_conntrack_dialer_conn_attempted_total{dialer_name="remote_storage_write_client"} 1
net_conntrack_dialer_conn_closed_total{dialer_name="local_scrape"} 0
net_conntrack_dialer_conn_closed_total{dialer_name="remote_storage_write_client"} 0
net_conntrack_dialer_conn_established_total{dialer_name="local_scrape"} 1
net_conntrack_dialer_conn_established_total{dialer_name="remote_storage_write_client"} 1
process_cpu_seconds_total 11.53
process_max_fds 1.048576e+06
process_open_fds 17
process_resident_memory_bytes 9.4773248e+07
process_start_time_seconds 1.64499076013e+09
process_virtual_memory_bytes 1.356931072e+09
process_virtual_memory_max_bytes 1.8446744073709552e+19
prometheus_interner_num_strings 275
prometheus_interner_string_interner_zero_reference_releases_total 0
prometheus_sd_consulagent_rpc_duration_seconds_sum{call="services",endpoint="agent"} 0
prometheus_sd_consulagent_rpc_duration_seconds_count{call="services",endpoint="agent"} 0
prometheus_sd_dns_lookup_failures_total 0
prometheus_sd_dns_lookups_total 0
prometheus_sd_file_read_errors_total 0
prometheus_sd_file_scan_duration_seconds{quantile="0.5"} NaN
在本机安装运行grafana-agent
如果您的主机上没有docker
或者您希望直接把grafana-agent
运行在宿主机上,可以依照以下步骤:
1. 下载预先编译好的二进制包
下载地址为: https://github.com/grafana/agent/releases/download/${version}/agent-${platform}-${arch}.zip
- 其中,
version
当前为v0.23.0
- 其中,可下载的
platform
和arch
列表如下:- linux/amd64
- linux/arm64
- linux/armv7
- linux/armv6
- darwin/amd64
- darwin/arm64
- windows/amd64
- linux/mipsle
- freebsd/amd64
# download the binary
curl -SOL "https://github.com/grafana/agent/releases/download/v0.23.0/agent-linux-amd64.zip"
# extract the binary
gunzip ./agent-linux-amd64.zip
# make sure it is executable
chmod a+x "agent-linux-amd64"
3. 启动 grafana-agent
nohup ./agent-linux-amd64 \
-config.file ./agent-cfg.yaml \
-metrics.wal-directory ./data \
&> grafana-agent.log &
- 您也可以通过访问
grafana-agent
所暴露的API
,获取到targets
列表来确认是否符合预期,操作命令为curl http://localhost:12345/agent/api/v1/targets
;
至此,我们已经成功的将 grafana-agent 运行起来,并且开始收集 grafana-agent 自身的 metrics 指标。下一步,我们讲述如何通过 grafana-agent 的内嵌的各种 exporter 来采集主机、进程、MySQL等监控指标。
上一篇:Grafana-agent
下一篇:收集metrics