Grafana

2023-11-06

最近在调研InfluxDB的时候接触到了Grafana,Grafana是什么?一个类似Kibana的东西,也是对后端的数据进行实时展示,那么Grafana和Kibana有什么区别?在我看来区别不大,不过在大家的日常使用中Kibana是跟着Logstash、ElasticSearch等组件一起使用做日志展示、索引、分析的,造成了一种假象就是Kibana就只有这种用法了,Kibana也可以接入其他数据源的,不过大家最长用的还是展示日志,Grafana是什么呢?该项目你可能没听过,也比较年轻,他一般是和一些时间序列数据库进行配合来展示数据的,例如:Graphite、OpenTSDB、InfluxDB等。下面看看官方是怎么解释Grafana的:

  • grafana是用于可视化大型测量数据的开源程序,他提供了强大和优雅的方式去创建、共享、浏览数据。dashboard中显示了你不同metric数据源中的数据。
  • grafana最常用于因特网基础设施和应用分析,但在其他领域也有机会用到,比如:工业传感器、家庭自动化、过程控制等等。
  • grafana有热插拔控制面板和可扩展的数据源,目前已经支持Graphite、InfluxDB、OpenTSDB、Elasticsearch。

下面我们就练练手,先安装:

    grafana官方已经有打包好的deb和rpm包以及编译好的二进制包,同时grafana还支持Mac OS X、windows等等,下载页面在:download

    作为第一次尝试,我们选择编译好的二进制包:grafana-2.1.3.linux-x64.tar.gz,后面熟练后可选择deb或者rpm。二进制包解压后,进入其中的conf目录,里面有一个defaults.ini文件,在grafana的conf目录下,把defaults.ini配置文件重命名为custom.ini。进入grafana的bin目录下,有一个grafana-server二进制文件,直接执行./grafana-server web即可启动应用程序。更详细的安装在这里:here

grafana和LDAP集成:

    可惜我们这公司竟没有使用AD/LDAP的习惯,在这里看过程:here

批量安装配置:

    grafana支持puppet、ansible、docker、chef等安装,感觉没啥用就不介绍了

grafana后端数据源配置:

    grafana主要是支持一些时间序列数据库,我们调研的是influxdb,所以就以influxdb为例了,界面上点点就配置好了,主要过程看这里:here


grafana的配置文件:

    grafana后端的配置文件可以是多个以.ini结尾的配置文件,主要从三个配置文件读取配置:默认是$WORKING_DIR/conf/defaults.ini,其次用户配置是$WORKING_DIR/conf/custom.ini,用户配置则可以在命令行启动grafana时通过--config参数重新指定配置文件来覆盖。如果你是以deb或者rpm安装的,则默认的配置文件是/etc/grafana/grafana.ini,这个文件是在init.d的启动脚本中通过--config参数指定的。    

    所有在配置文件中的配置都可以通过环境变量来覆盖,使用的语法如下:GF_<SectionName>_<KeyName>,例如:

[security]
admin_user = admin

[auth.google]
client_secret = 0ldS3cretKey
    如果使用环境变量,则是如下: 

export GF_SECURITY_ADMIN_USER=true
export GF_AUTH_GOOGLE_CLIENT_SECRET=newS3cretKey
下面具体看看每个配置段的配置:

app_mode:应用名称,默认是production

[path]
data:一个grafana用来存储sqlite3、临时文件、回话的地址路径
logs:grafana存储logs的路径

[server]
http_addr:监听的ip地址,,默认是0.0.0.0
http_port:监听的端口,默认是3000
protocol:http或者https,,默认是http
domain:这个设置是root_url的一部分,当你通过浏览器访问grafana时的公开的domian名称,默认是localhost
enforce_domain:如果主机的header不匹配domian,则跳转到一个正确的domain上,默认是false
root_url:这是一个web上访问grafana的全路径url,默认是%(protocol)s://%(domain)s:%(http_port)s/
router_logging:是否记录web请求日志,默认是false
cert_file:如果使用https则需要设置
cert_key:如果使用https则需要设置

[database]
grafana默认需要使用数据库存储用户和dashboard信息,默认使用sqlite3来存储,你也可以换成其他数据库
type:可以是mysql、postgres、sqlite3,默认是sqlite3
path:只是sqlite3需要,定义sqlite3的存储路径
host:只是mysql、postgres需要,默认是127.0.0.1:3306
name:grafana的数据库名称,默认是grafana
user:连接数据库的用户
password:数据库用户的密码
ssl_mode:只是postgres使用


[security]
admin_user:grafana默认的admin用户,默认是admin
admin_password:grafana admin的默认密码,默认是admin
login_remember_days:多少天内保持登录状态
secret_key:保持登录状态的签名
disable_gravatar:


[users]
allow_sign_up:是否允许普通用户登录,如果设置为false,则禁止用户登录,默认是true,则admin可以创建用户,并登录grafana
allow_org_create:如果设置为false,则禁止用户创建新组织,默认是true
auto_assign_org:当设置为true的时候,会自动的把新增用户增加到id为1的组织中,当设置为false的时候,新建用户的时候会新增一个组织
auto_assign_org_role:新建用户附加的规则,默认是Viewer,还可以是Admin、Editor


[auth.anonymous]
enabled:设置为true,则开启允许匿名访问,默认是false
org_name:为匿名用户设置组织名称
org_role:为匿名用户设置的访问规则,默认是Viewer


[auth.github]
针对github项目的,很明显,呵呵
enabled = false
allow_sign_up = false
client_id = some_id
client_secret = some_secret
scopes = user:email
auth_url = https://github.com/login/oauth/authorize
token_url = https://github.com/login/oauth/access_token
api_url = https://api.github.com/user
team_ids =
allowed_domains =
allowed_organizations =


[auth.google]
针对google app的,呵呵
enabled = false
allow_sign_up = false
client_id = some_client_id
client_secret = some_client_secret
scopes = https://www.googleapis.com/auth/userinfo.profile https://www.googleapis.com/auth/userinfo.email
auth_url = https://accounts.google.com/o/oauth2/auth
token_url = https://accounts.google.com/o/oauth2/token
api_url = https://www.googleapis.com/oauth2/v1/userinfo
allowed_domains =


[auth.basic]
enabled:当设置为true,则http api开启基本认证


[auth.ldap]
enabled:设置为true则开启LDAP认证,默认是false
config_file:如果开启LDAP,指定LDAP的配置文件/etc/grafana/ldap.toml


[auth.proxy]
允许你在一个HTTP反向代理上进行认证设置
enabled:默认是false
header_name:默认是X-WEBAUTH-USER
header_property:默认是个名称username
auto_sign_up:默认是true。开启自动注册,如果用户在grafana DB中不存在

[analytics]
reporting_enabled:如果设置为true,则会发送匿名使用分析到stats.grafana.org,主要用于跟踪允许实例、版本、dashboard、错误统计。默认是true
google_analytics_ua_id:使用GA进行分析,填写你的GA ID即可


[dashboards.json]
如果你有一个系统自动产生json格式的dashboard,则可以开启这个特性试试
enabled:默认是false
path:一个全路径用来包含你的json dashboard,默认是/var/lib/grafana/dashboards


[session]
provider:默认是file,值还可以是memory、mysql、postgres
provider_config:这个值的配置由provider的设置来确定,如果provider是file,则是data/xxxx路径类型,如果provider是mysql,则是user:password@tcp(127.0.0.1:3306)/database_name,如果provider是postgres,则是user=a password=b host=localhost port=5432 dbname=c sslmode=disable
cookie_name:grafana的cookie名称
cookie_secure:如果设置为true,则grafana依赖https,默认是false
session_life_time:session过期时间,默认是86400秒,24小时


以下是官方文档没有,配置文件中有的
[smtp]
enabled = false
host = localhost:25
user =
password =
cert_file =
key_file =
skip_verify = false
from_address = admin@grafana.localhost

[emails]
welcome_email_on_sign_up = false
templates_pattern = emails/*.html


[log]
mode:可以是console、file,默认是console、file,也可以设置多个,用逗号隔开
buffer_len:channel的buffer长度,默认是10000
level:可以是"Trace", "Debug", "Info", "Warn", "Error", "Critical",默认是info

[log.console]
level:设置级别

[log.file]
level:设置级别
log_rotate:是否开启自动轮转
max_lines:单个日志文件的最大行数,默认是1000000
max_lines_shift:单个日志文件的最大大小,默认是28,表示256MB
daily_rotate:每天是否进行日志轮转,默认是true
max_days:日志过期时间,默认是7,7天后删除
启动grafana:

./grafana-server -config="/opt/grafana-2.1.3/conf/custom.ini"


    下面的就是初始化过程了,会有大片的输出,再次重启grafana的时候则不会进行初始化:


下面访问grafana看看:

转载于:https://my.oschina.net/guol/blog/515126

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

Grafana 的相关文章

  • LdapConnection 与 PrimaryContext

    我有以下两种使用 LDAP 和 LDAPS 验证用户身份的实现 我想知道哪个更好 更正确 郑重声明 这两种方法都适用于 SSL 和非 SSL 连接 我也很好奇 因为当在 Wireshark 上观看时Non SSL PrincipalCont
  • 为什么我从 LDAP 属性中获取“System.__ComObject”?

    我将是第一个承认这是被删减和过去的节目的人 我以前没看过AD 实在是看不懂 我想这就是我的下一个研究 不管怎样 这是一些测试代码 它应该显示到期日期 要么以可读的形式 要么以刻度显示 这并不重要 这是一个 Web 表单 在开发 Web 服务
  • 查找 Active Directory 中特定用户所属的组/分发列表

    假设我在 OU Groups DC contaco DC com ct 我可以找到子 OU 中的所有组 但找到用户 bobdole 所属的所有组的唯一方法是查看每个组 看看他是否在 成员 字段中 不幸的是 当我查看用户 bobdole 时
  • 如何在 Keycloak 上创建自定义 UserStorageSPI

    为了覆盖 LDAP 连接并将密码验证重定向到我们自己的缓存密码系统 在 keycloak 中 每当 LDAP 连接丢失时 更简单的方法是围绕 LDAP 创建一个 HAProxy 以确保它永远不会宕机 但我们无权访问它 并且我们的客户端希望重
  • javax.naming.AuthenticationException

    我正在尝试使用我的 Windows 凭据和 NTLM 为 ActiveDirectory 创建上下文 客户端和服务器都是 Windows 这是我的代码 public void func try URL configURL getClass
  • 如何使用 Grafana 和 Wamp 的 LDAP 身份验证进行单点登录?

    我正在尝试使用 LDAP 为 grafana 添加单点登录 我遇到过LDAP 的 Grafana 文档 http docs grafana org installation ldap 但我不明白 我可以使用 LDAP 获得单点登录功能吗 如
  • 如何在 Razor 中进行 Active Directory 身份验证 (cshtml)

    我正在用 Razor 做一个简单的网站 目前 我可以使用基于数据库的身份验证 如下所示 在 App Start html中 WebSecurity InitializeDatabaseConnection db connection use
  • 从 Active Directory C# 检索图片

    我对 LDAP 非常陌生 想知道是否有一种方法可以知道特定域的活动目录中填充了哪些信息 例如 我试图使用以下方法获取组织员工的图像 var bytes directoryEntry Properties thumbnailPhoto Val
  • 使用 Spring LdapTemplate 从 Active Directory 获取所有属性

    我有一个 Spring Boot 应用程序 它使用 LDAP 来对用户进行身份验证 对于用户 我正在映射 AD 中的属性并填充用户的名字 姓氏 部门 电子邮件 电话以及图像等值 但是 我无法从属性中获取员工编号 当我使用该工具检查属性时活动
  • 如何检索LDAP数据库的所有属性

    我在用LDAP模块 of python连接到LDAP服务器 我可以查询数据库 但我不知道如何查询检索数据库中存在的字段 这样我就可以提前通知用户查询数据库 告诉他他试图访问的字段不在数据库中 例如 如果存在的字段只是 cn memberOf
  • 使用证书和自定义 ssl 套接字工厂到 ldap 的 SSL 连接

    这是我的场景 我想使用 jndi 连接到 ldap 我使用自定义 SSLSOcketfactory 来读取信任库和密钥库 上下文创建成功 但是当我尝试使用相同的凭据进行身份验证时 它会抛出一个错误 告知不支持该身份验证方法 这是我的自定义
  • 服务定位协议的客户端实现示例? [关闭]

    Closed 此问题正在寻求书籍 工具 软件库等的推荐 不满足堆栈溢出指南 help closed questions 目前不接受答案 有谁知道可以在 Windows 盒子上构建 运行的服务定位协议的一个很好的示例实现吗 OpenSLP h
  • 如何从 LDAP 目录中提取 TNSNames

    我一直在尝试查询 LDAP 目录服务器以检索 tnsnames 条目 我可以使用以下代码 但味道不对 是因为它是错误的 还是因为查询 ldap 涉及几个间接级别 let identifier LdapDirectoryIdentifier
  • 使用 C# 获取 Active Directory 用户数据

    我想获取有关特定用户的数据 我知道该用户的 OU 路径 但无法使用该 OU 路径获取信息 总是说找不到用户 谁能告诉我我需要更改搜索过滤器吗 请帮忙 Code 用户路径 abc ds xyz net fGroup xcxc Users 12
  • 如何使用 unboundid-ldap-sdp 导入 ldif 文件?

    我从 LDAP 服务器导出了以下 ldif 文件 现在尝试导入它 以便可以复制从中导出它的目录 dn cn MYCOMPANY Users dc mycompany dc com changetype add objectClass pos
  • 带有 LDAP 身份验证的 SVN 不起作用

    我首先从我的设置开始 为此我们有 2 台服务器 Server1 将用于所有源代码 文件等 在 Server2 上 我们拥有所有用户信息和登录信息 两台服务器都运行在 Centos 6 4 上 现在我们要在 server1 上设置一个 SVN
  • PHP LDAP 查询获取特定安全组的成员

    我正在努力让 LDAP 查询工作来为我提供安全组的成员 我们的活动目录结构设置为 DC domain DC co dc uk然后 我们有一个名为 公司用户 的 OU 其中有一个用于 IT 和标准的 OU 在这些中我们创建了用户 所以我被设置
  • 嵌入式 Jetty - 以编程方式添加基于表单的身份验证

    有没有一种方法可以按如下方式以编程方式添加基于表单的身份验证 我用的是我自己的LdapLoginModule 最初我使用基本身份验证并且工作正常 但现在我想在登录页面上进行更多控制 例如显示徽标等 有没有好的样品 我正在使用嵌入式 jett
  • 使用用户名进行 Java LDAP 身份验证

    好吧 这让我发疯 我正在尝试使用 Java 创建 LDAP 身份验证 如果我在 SECURITY PRINCIPAL 中使用我的名字和姓氏 一切都很好 这是我的代码 try Hashtable
  • Active Directory:如何确定帐户是否是服务帐户?

    问题 是否可以使用 C LDAP 确定帐户是否是 Active Directory 中的服务帐户 如果是 怎么办 Context 我有一个程序正在检索模式类类型 USER GROUP COMPUTER FOREIGN SECURITY PR

随机推荐

  • 求助与探讨:如何规划我的职业生涯

    题记 毕业之后发现工作接触到的知识 不像校园里学习的C语言程序设计 算法与数据结构之类的知识是通用的 而是局限于某类产品 某个模块 某个组件的 这些产品包含庞大繁杂的知识 需要划分成多个模块 由几名甚至上百名员工合力完成 即便分工如此精细
  • 【Mo 人工智能技术博客】浅谈联邦半监督学习及FedMatch算法

    技术博客 浅谈联邦半监督学习及FedMatch算法 作者 余敏君 1 前言 以往的联邦学习工作往往仅专注于对监督学习任务的研究 即要求所有的数据都必须包含相应的标签 但是 在现实场景中 考虑到大数据量标注任务所需要的人力和物力开销是非常大的
  • word中关于标题无序号、跳号、标题不对齐的解决方式

    一 在word中 经常会遇到标题没有编号 或者编号跳号的情况 如下情况 虽然指定了标题 但是没有标题对应的序号 1 依次点击 开始 多级列表 定义新的多级列表 2 点击 更多 按钮 3 在左侧点击标题的 层级 然后在 将级别链接到样式 下选
  • 微服务架构整体分析:优势与挑战

    微服务优势与挑战 1 1 微服务的优势 1 1 1 单一职责 微服务架构中的每个节点高度服务化 都是具有业务逻辑的 符合高内聚 低耦合原则以及单一职责原则的单元 包括数据库和数据模型 不同的服务通过 管道 的方式灵活组合 从而构建出庞大的系
  • PostgreSQL安装 Error running icacls

    前言 软件下载官网 https www postgresql org download 其他下载源 postgresql 11 2 百度云 postgresql 11 2 1 https get enterprisedb com postg
  • JS调用QQ聊天

    需求 页面上放置QQ图标 点击可以弹出QQ聊天窗口 并与指定QQ号联系 具体 a href http wpa qq com msgrd V 1 amp Uin 123 amp Menu no target blank img src img
  • 使用GCD处理后台线程和UI线程的交互(转自唐巧的技术博客)

    使用GCD FEB 22ND 2012 什么是GCD Grand Central Dispatch GCD 是Apple开发的一个多核编程的解决方法 该方法在Mac OS X 10 6雪豹中首次推出 并随后被引入到了iOS4 0中 GCD是
  • Caused by: java.lang.ClassNotFoundException: Cannot find class: com.github.pagehelper.PageIntercepto

    今天使用pageHelper一直报这个错误 可能原因1 jar包和参数配置不匹配的问题 参考这个博客 http blog csdn net zhuliliang article details 73650782 但之前测试过 确定不是上面的
  • SSM框架-SpringMVC

    1 SpringMVC 1 1 Spring与Web环境集成 ApplicationContext应用上下文获取方式 应用上下文对象是通过new ClasspathXmlApplicationContext spring配置文件 方式获取的
  • 【基于大数据的海外视频数据可视化分析-哔哩哔哩】 https://b23.tv/X8KcrIu

    基于大数据的海外视频数据可视化分析 哔哩哔哩 https b23 tv X8KcrIu https b23 tv X8KcrIu
  • Modern C++ for C程序员 第2部分

    文章目录 Modern C for C程序员 第2部分 命名空间 类 资源获取即初始化 RAII 智能指针 线程 原子操作 锁 错误处理 总结 这是bert hubert的系列文章 旨在帮助c代码人快速了解c 实用的新特性 原文链接 htt
  • Vue项目运行报错:Cannot read properties of undefined (reading ‘install‘)

    在做vue2项目时出现如下错误 页面空白且控制台出现如下错误 报错原因 vue router安装的版本太高 一般vue2的项目对应的版本是vue router 3版本 解决办法 在控制台输入 cnpm install save vue ro
  • Open3D中RANSAC平面拟合

    文章目录 一 函数介绍 二 代码实现 三 结果展示 四 总结 五 坐标中心化 一 函数介绍 使用RANSAC从点云中分割平面 用segement plane函数 这个函数需要三个参数 destance threshold 定义了一个点到一个
  • eager模式和graph模式 Tensorflow

    Tensorflow2在原有graph模式基础上引入了eager模式 graph是tensorflow v1的图模式 eager是立即执行运算模型 Tensorflow2的eager模式和graph模式 1 哔哩哔哩 bilibili 不需
  • Python手册(IDE)--Jupyter Notebook

    文章目录 Anaconda Jupyter Notebook 快捷键 魔术命令 Anaconda Anaconda 是一个用于科学计算的 Python 发行版 支持 Linux Mac Windows 包含了众多流行的科学计算 数据分析的
  • 安全配置

    基线管理之centos安全配置 1 检查不用的链接 ip link show up 如果有需要关闭的接口 可以使用 ip link set down 2 关闭IP转发 先查看ip转发配置 sysctl net ipv4 ip forward
  • 求两条轨迹间的hausdorff距离_轨迹规划之位置插补

    假设我们有一个向量的序列 如果我们想对这个序列进行插值 那么 我们可以分别对每一对向量 和 进行插值 然后将插值的曲线连接起来 也就 是我们所说的样条 Spline 很明显 这个曲线虽然是连续的 但是它的一阶导数 切线 在切换插值向量时都不
  • 矩母函数和生成函数

    关于矩母函数和生成函数 今天来说道说道 系本人自身学习理解 不对之处 还望各位看官海涵 首先 这是两个名字 二者不是一个东西 这是首先需要搞清楚的 但是二者的定义却有着相同的目的即 求若干独立随机变量和的分布 1 矩母函数 仅连续型随机变量
  • 基于Python+Pyecharts+爬虫实现的对全球疫情新增患者可视化分析

    文章目录 前言 1 爬取网站获取全球各国新冠新增人数 1 1挑选网站进行网页源码分析 1 2对该网站采用requests库进行网络爬取 1 3将返回的字典添加到刚才所建立的空列表当中 2 对所得数据进行可视化分析 2 1采用pyechart
  • Grafana

    为什么80 的码农都做不了架构师 gt gt gt 最近在调研InfluxDB的时候接触到了Grafana Grafana是什么 一个类似Kibana的东西 也是对后端的数据进行实时展示 那么Grafana和Kibana有什么区别 在我看来