一、安装grafana
直接去网址下载适合自己版本的安装包
网址:https://grafana.com/grafana/download?platform=linux
然后使用命令:
dpkg -i grafana_6.0.2_amd64.deb
这样grafana就安装成功了。
相关配置文件:
二进制运行程序 /usr/sbin/grafana-server
启动脚本 /etc/init.d/grafana-server
grafana环境变量的默认文件 /etc/default/grafana-server
配置文件 /etc/grafana/grafana.ini
配置文件 /usr/share/grafana/default.ini
日志文件 /var/log/grafana/grafana.log
默认的轻量级数据库 /var/lib/grafana/grafana.db
grafana具体的页面显示代码 /usr/share/grafana
二、ldap安装
1.安装
# sudo apt-get install slapd ldap-utils
2.配置
#dpkg-reconfigure slapd
下面就是具体配置设置:
Omit OpenLDAP server configuration? ... No
DNS domain name: ... sscc.com //根据自己需要输入,但必须和后面的相关地方保持一致
Name of your organization: ... Whatever & Co
Admin Password: XXXXX
Confirm Password: XXXXX
OK
BDB
Do you want your database to be removed when slapd is purged? ... No
Move old database? ... Yes
Allow LDAPv2 Protocol? ... No
3.查询配置情况
ldapsearch -x -LLL -H ldap:/// -b dc=sscc,dc=com dn
输出结果:
dn: dc=sscc,dc=com
dn: cn=admin,dc=sscc,dc=com
这样ldap就安装成功了。
三、安装phpldapadmin
为了能更好的对ldap进行增加用户、删除用户、添加组等等,所以我们安装phpldapadmin。
1.安装
# apt-get install phpldapadmin
2.配置
其中,servers->Setvalue选项要注意dc选项:
$servers = new Datastore();
$servers->setValue('server','name','Local LDAP Server');
$servers->setValue('server','host','xx.xxx.xxx.xxx');
$servers->setValue('server','base',array('dc=sscc,dc=com')); //这个要改
$servers->setValue('login','auth_type','session');
$servers->setValue('login','bind_id','cn=admin,dc=sscc,dc=com');//这个要改
$servers->setValue('appearance','password_hash','');
$servers->setValue('login','attr','dn');
然后就可以在浏览器上输入ip地址+/phpldapadmin登录ldap的管理页面,然后可以进行相应操作。
问题一:
phpldapadmin管理页面会显示这个错误:
Error trying to get a non-existant value (appearance,password_hash)
解决方案:
修改/usr/share/phpldapadmin/lib/TemplateRender.php中的一行,
将
$default = $this->getServer()->getValue('appearance','password_hash');
修改为下面一行,即可
$default = $this->getServer()->getValue('appearance','password_hash_custom');
四、grafana使用ldap认证登录
1.修改grafana配置文件中关于ldap认证登录相关部分
修改/usr/share/grafana/conf/defaults.ini中的内容
#################################### Auth LDAP ###########################
[auth.ldap]
enabled = true ##这里修改为true
config_file = /etc/grafana/ldap.toml
allow_sign_up = true
# LDAP backround sync (Enterprise only)
sync_cron = @hourly
active_sync_enabled = false
修改/etc/grafana/ldap.toml中的内容
[[servers]]
host = "xxx.xxx.xxx.xxx" 修改为ip
port = 389
use_ssl = false
start_tls = false
ssl_skip_verify = false
bind_dn = "cn=admin,dc=sscc,dc=com" #修改为安装ldap设置时的domain name
bind_password = '123456' #修改ldap设置的密码
search_filter = "(cn=%s)"
search_base_dns = ["dc=sscc,dc=com"]
#下面三个是根据ldap有没有memberof属性来开启的,如果有就设置为如下,反之则注释掉。
group_search_filter = "(&(objectClass=posixGroup)(memberUid=%s))"
group_search_base_dns = ["cn=users,dc=sscc,dc=com"]
group_search_filter_user_attribute = "cn"
[servers.attributes]
name = "givenName"
surname = "sn"
username = "cn"
member_of = "dn" #如果ldap有memberOf属性,则设置为memberOf,反之设置为dn
email = "email"
#设置具体的ldap组与grafana角色的映射
[[servers.group_mappings]]
group_dn = "cn=users,dc=sscc,dc=com"
org_role = "Editor"
org_id = 2
[[servers.group_mappings]]
group_dn = "*"
org_role = "Viewer"
org_id = 3
注:
这里有一个重点 posixGroup添加memberUid属性,并将用户添加到该用户组下:
这里关于phpldapadmin如何创建用户组以及用户,就不多赘述了,详情可以参考这篇文章:https://www.cnblogs.com/xiaomifeng0510/p/9564688.html
最后重启grafana,然后在登录页面就 可以使用ldap用户登陆了。
service grafana-server restart
看了全文如果对你有帮助,帮忙点个赞,如果有什么问题,欢迎留言讨论。