sentry安装
准备docker
yum install -y yum-utils
yum-config-manager \
--add-repo \
http://mirrors.aliyun.com/docker-ce/linux/centos/docker-ce.repo
yum install -y docker-ce docker-ce-cli containerd.io
安装docker-compose
curl -L https://github.com/docker/compose/releases/download/1.28.5/docker-compose-`uname -s`-`uname -m` -o /usr/bin/docker-compose
chmod +x /usr/bin/docker-compose
docker-compose --version
获取sentry安装代码
git clone https://ghproxy.com/https://github.com/getsentry/onpremise.git
cd onpremise/
./install.sh
安装钉钉插件
echo 'sentry-dingding-maxbon==1.0.5' >> onpremise/sentry/requirements.example.txt
cd /opt/onpremise/
docker-compose down && docker-compose up -d
配置钉钉告警机器人
通过浏览器登录sentry后台,http://ip:9000
设置–>Integrations–>钉钉插件–> 粘贴钉钉机器人的token --> 启动插件
接入LDAP
docker-compose exec -it web bash
#容器内执行
apt-get update && apt-get install -y vim gcc libsasl2-dev python-dev libldap2-dev libssl-dev && pip install sentry-ldap-auth
返回sentry机器,进入sentry配置目录,修改sentry配置文件接入ldap:
vim /opt/onpremise/sentry/sentry.conf.py
追加以下内容
import ldap
AUTH_LDAP_SERVER_URI = 'ldap://x.x.x.x:xxxx'
AUTH_LDAP_BIND_DN = 'cn=xxx,dc=xxx,dc=xxx'
AUTH_LDAP_BIND_PASSWORD = 'xxxxxxxxx'
AUTH_LDAP_USER_SEARCH = LDAPSearch(
'ou=xxx,ou=xxx,dc=xxx,dc=xxx',
ldap.SCOPE_SUBTREE,
'(mail=%(user)s)',
)
AUTH_LDAP_GROUP_SEARCH = LDAPSearch(
'',
ldap.SCOPE_SUBTREE,
'(objectClass=groupOfUniqueNames)'
)
AUTH_LDAP_GROUP_TYPE = GroupOfUniqueNamesType()
AUTH_LDAP_REQUIRE_GROUP = None
AUTH_LDAP_DENY_GROUP = None
AUTH_LDAP_USER_ATTR_MAP = {
'name': 'cn',
'email': 'mail'
}
AUTH_LDAP_FIND_GROUP_PERMS = False
AUTH_LDAP_CACHE_GROUPS = True
AUTH_LDAP_GROUP_CACHE_TIMEOUT = 3600
AUTH_LDAP_DEFAULT_SENTRY_ORGANIZATION = u'Sentry'
AUTH_LDAP_SENTRY_ORGANIZATION_ROLE_TYPE = 'member'
AUTH_LDAP_SENTRY_SUBSCRIBE_BY_DEFAULT = True
AUTH_LDAP_SENTRY_GROUP_ROLE_MAPPING = {
'owner': ['sysadmins'],
'admin': ['devleads'],
'member': []
}
AUTH_LDAP_SENTRY_ORGANIZATION_GLOBAL_ACCESS = True
AUTH_LDAP_SENTRY_USERNAME_FIELD = 'uid'
AUTHENTICATION_BACKENDS = AUTHENTICATION_BACKENDS + (
'sentry_ldap_auth.backend.SentryLdapBackend',
)
浏览器打开登陆页面,直接就可以使用AD用户和账号登录sentry了