2022-05-14 125
简介: grafana 8.x配置日报定时发送配置及踩坑经过
系统版本:CentOS 7.9
Grafana版本:8.5.2
想要每日定时发送系统运行状态给leader和运维管理人员查看,因为开源版本并不具备enterprise那样拥有reporting功能,假如我们需要实现类似的功能,需要依靠IzakMarais/reporter: Service that generates a PDF report from a Grafana dashboard (github.com)这个项目去实现。
安装texlive包和go
yum install go git
yum install texlive-pdftex texlive-latex-bin texlive-texconfig* texlive-latex* texlive-metafont* texlive-cmap* texlive-ec texlive-fncychap* texlive-pdftex-def texlive-fancyhdr* texlive-titlesec* texlive-multirow texlive-framed* texlive-wrapfig* texlive-parskip* texlive-caption texlive-ifluatex* texlive-collection-fontsrecommended texlive-collection-latexrecommended texinfo-tex
获取grafana-reporter的源码和依赖包
go get github.com/IzakMarais/reporter/…
编译安装二进制文件
go install github.com/IzakMarais/reporter/cmd/grafana-reporter@latest
编译完成后,会在go/bin/下生成grafana-reporter二进制文件
添加服务
cat > /etc/systemd/system/grafana-reporter.service << EOF
[Unit]
Description=Grafana Reporter
After=grafana-reporter.service
[Service]
Type=sample
ExecStart=/root/go/bin/grafana-reporter -ip localhost:3000
ExecStop=pkill -9 grafana-report
StandardOutput=syslog
StandardError=syslog
[Install]
WantedBy=multi-user.target
EOF
配置开机自启动
systemctl daemon-reload
systemctl enable --now grafana-reporter.service
防火墙开放8686端口
firewall-cmd --zone=public --permanent --add-port=8686/tcp
firewall-cmd --reload
需要安装Grafana Image Renderer插件,不然可能出现下图所示的错误
grafana-cli plugins install grafana-image-renderer
重启服务
systemctl restart grafana-server
添加API Keys,roles选择Viewer即可。
生成后,会显示Key,点击Copy,复制下来Key,准备添加到links配置中
选中需要daily report的dashboard,点击设备按钮开始配置
URL这里填写http://:3000/api/v5/report/?apitoken=
dashboard-path路径可以从这里查看
完成后,回到dashboard,点解report查看是否生效
假如遇到了下述的问题,那可能是缺少一些依赖包
我们可以从/var/log/grafana/grafana.log查看到底缺少哪些包,如下图所示
解决依赖问题
yum install atk -y
yum install at-spi2-atk -y
yum -y install cups-libs
yum install libXss* -y
yum install libX11
yum install -y libXcomposite libXcomposite-devel
假如日志没有其他报错后,应该是可以生成pdf文件了
安装mail
修改/etc/mail.rc,对该文件追加下述内容,因为我用的是qq企业邮箱
cat >> /etc/mail.rc << EOF
set from=<mail>
set smtp=smtps://smtp.exmail.qq.com:465
set smtp-auth-user=<mail>
set smtp-auth-password=wbxMo9q9gaUWej5Z
set smtp-auth=login
set ssl-verify=ignore
set nss-config-dir=/etc/pki/nssdb/
EOF
接下来还需要写个脚本自动发送。