将 OpenLDAP 与 IBM Spectrum LSF 集成

2023-12-18 19:04
文章标签 集成 ibm openldap spectrum lsf

本文主要是介绍将 OpenLDAP 与 IBM Spectrum LSF 集成,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

IBM Spectrum LSF 是一个工作负载管理平台,提供强大的资源管理功能来优化应用程序性能和最大限度提高资源使用率。 OpenLDAP 是轻量级目录访问协议 (LDAP) 的开放式源代码实现,提供集中式认证和目录服务。

通过遵循本教程中概述的步骤,您可以将 OpenLDAP 与 IBM Spectrum LSF集成,这使您能够使用现有 LDAP 基础结构进行认证,从而使用户能够更安全,更简化地访问 IBM Spectrum LSF。

本教程仅涵盖在 Linux® 系统 (RHEL 7.9 作为主机) 上配置 OpenLDAP 服务器。

设计注意事项

将 OpenLDAP 与 IBM Spectrum LSF 集成涉及修改 LSF 配置文件和 OpenLDAP 服务器配置文件。 此集成的设计注意事项包括:

  1. IBM Spectrum LSF 使用可插入认证模块 (PAM) 框架进行认证。
  2. IBM Spectrum LSF 的 PAM 配置位于 /etc/pam.d/lsf 文件中。
  3. OpenLDAP 使用称为专有名称 (DN) 的分层命名结构来标识目录中的条目。
  4. OpenLDAP 配置文件位于 /etc/openldap/slapd.conf 或 /etc/openldap/slapd.d/中。
  5. 必须将 OpenLDAP 服务器配置为通过安全连接 (LDAPS) 使用 LDAP 协议进行认证。

准备工作

开始之前,请确保查看以下先决条件:

常规先决条件

  1. 已安装并配置 IBM Spectrum LSF V 10.1 或更高版本。
  2. 已安装并配置 OpenLDAP V 2.4 或更高版本。
  3. 可从 IBM Spectrum LSF 集群节点访问 OpenLDAP 服务器。
  4. ldapsearch 命令行工具安装在每个 IBM Spectrum LSF 集群节点上。
  5. pam_ldap 和 nss_ldap LDAP 客户机库安装在每个 IBM Spectrum LSF 集群节点上。

网络先决条件

要成功将 OpenLDAP 与 Spectrum LSF 集群节点集成,必须满足以下网络需求:

  1. ** OpenLDAP 服务器与 Spectrum LSF 集群节点之间的网络连接**: 确保 OpenLDAP 服务器可以通过网络与 Spectrum LSF 集群节点进行通信。 这可以通过在 OpenLDAP 服务器和 Spectrum LSF 集群节点上配置网络设置来实现。
  2. 端口需求: OpenLDAP 服务器和 Spectrum LSF 集群节点必须能够通过特定端口进行通信。 缺省情况下, OpenLDAP 将端口 389 用于未加密通信,将端口 636 用于加密通信。
  3. 防火墙配置: 如果网络中存在防火墙,请确保打开必要的端口以在 OpenLDAP 服务器与 Spectrum LSF 集群节点之间进行通信。
  4. DNS 配置: 确保 Spectrum LSF 集群节点可以解析 OpenLDAP 服务器的主机名或 IP 地址。 如果 DNS 解析不可用,请在每个节点上配置 /etc/hosts 文件以包含 OpenLDAP 服务器的主机名和 IP 地址。

步骤 1: 配置 OpenLDAP 服务器

确保您有权访问具有 root 用户特权的 Linux® 系统。

  1. 通过运行以下命令来安装 OpenLDAP 服务器和客户机软件包:

    yum -y install openldap-servers openldap-clients

  2. 将 DB_CONFIG.example 文件复制到 /var/lib/ldap 目录,并通过运行以下命令将其所有权更改为 ldap 用户:

    cp /usr/share/openldap-servers/DB_CONFIG.example /var/lib/ldap/DB_CONFIG chown ldap. /var/lib/ldap/DB_CONFIG

  3. 通过运行以下命令,启动 slapd 服务并使其能够在引导时自动启动:

    systemctl start slapd systemctl enable slapd

  4. 通过运行 slappasswd 命令来生成管理密码。 系统会提示您输入密码。 例如:

    slappasswd

    您会看到类似于以下内容的输出:

    示例输出:

    {SSHA}FUMV8TZ9lZQxABxCBE5UZ+oU/dlwf/d4
    

    请注意稍后生成的密码散列 (在本例中为 {SSHA}FUMV8TZ9lZQxABxCBE5UZ+oU/dlwf/d4))。

  5. 创建名为 chrootpw.ldif 的文件,并向其添加以下行:

    dn: olcDatabase={0}config,cn=config changetype: modify add: olcRootPW olcRootPW: {SSHA}FUMV8TZ9lZQxABxCBE5UZ+oU/dlwf/d4

    将 olcRootPW 值替换为您在上一步中生成的密码散列。

  6. 通过运行以下命令来导入基本模式:

    ldapadd -Y EXTERNAL -H ldapi:/// -f /etc/openldap/schema/cosine.ldif ldapadd -Y EXTERNAL -H ldapi:/// -f /etc/openldap/schema/nis.ldif ldapadd -Y EXTERNAL -H ldapi:/// -f /etc/openldap/schema/inetorgperson.ldif

  7. 通过再次运行 slappasswd 命令来生成管理器密码。

    slappasswd

    您会看到类似于以下内容的输出:

    示例输出:

    {SSHA}TVW9z6WLIBC3EXtFHFWnb2EVlK7EZQ3b
    

    请注意稍后生成的密码散列 (在本例中为 {SSHA}TVW9z6WLIBC3EXtFHFWnb2EVlK7EZQ3b)。

  8. 通过创建名为 chdomain.ldif 的文件并向其添加以下行,添加管理器密码并启用管理器帐户:

    # DC should be your domain # specify the password generated above for "olcRootPW" section dn: olcDatabase={1}monitor,cn=config changetype: modify replace: olcAccess olcAccess: {0}to * by dn.base="gidNumber=0+uidNumber=0,cn=peercred,cn=external,cn=auth" read by dn.base="cn=Manager,dc=ibmlsf,dc=com" read by * none dn: olcDatabase={2}hdb,cn=config changetype: modify replace: olcSuffix olcSuffix: dc=ibmlsf,dc=com dn: olcDatabase={2}hdb,cn=config changetype: modify replace: olcRootDN olcRootDN: cn=Manager,dc=ibmlsf,dc=com dn: olcDatabase={2}hdb,cn=config changetype: modify add: olcRootPW olcRootPW: {SSHA}TVW9z6WLIBC3EXtFHFWnb2EVlK7EZQ3b dn: olcDatabase={2}hdb,cn=config changetype: modify add: olcAccess olcAccess: {0}to attrs=userPassword,shadowLastChange by dn="cn=Manager,dc=ibmlsf,dc=com" write by anonymous auth by self write by * none olcAccess: {1}to dn.base="" by * read olcAccess: {2}to * by dn="cn=Manager,dc=ibmlsf,dc=com" write by * read 显示更多

    将 {SSHA} 值替换为您在上一步中生成的密码散列。

  9. 通过运行以下命令来应用更改:

    ldapmodify -Y EXTERNAL -H ldapi:/// -f chdomain.ldif

  10. 创建名为 basedomain.ldif 的文件,并向其添加以下行:

dn: dc=ibmlsf,dc=com objectClass: top objectClass: dcObject objectclass: organization o: WES Migration dc: ibmlsf dn: cn=Manager,dc=ibmlsf,dc=com objectClass: organizationalRole cn: Manager description: Directory Manager dn: ou=People,dc=ibmlsf,dc=com objectClass: organizationalUnit ou: People dn: ou=Group,dc=ibmlsf,dc=com objectClass: organizationalUnit ou: Group 

  1. 通过运行以下命令来应用上一步中所做的更改:

ldapadd -x -D cn=Manager,dc=ibmlsf,dc=com -W -f basedomain.ldif

  1. 使用编辑器 (例如 VI) 创建名为 ldapuser.ldif 的文件,并向其添加以下行 (在 "dc=***,dc=***" 部分中替换为您自己的必需域名):

dn: uid=Lsfclusteruser,ou=People,dc=ibmlsf,dc=com objectClass: inetOrgPerson objectClass: posixAccount objectClass: shadowAccount cn: Lsfclusteruser sn: Linux userPassword: {SSHA}+A6gC87JU5ugW6qthWL2HGYzsQIdN1EN loginShell: /bin/bash uidNumber: 1003 gidNumber: 1003 homeDirectory: /home/Lsfclusteruser dn: cn=Lsfclusteruser,ou=Group,dc=ibmlsf,dc=com objectClass: posixGroup cn: Lsfclusteruser gidNumber: 1001 memberUid: Lsfclusteruser 

将 {SSHA} 值替换为先前生成的密码散列。

  1. 通过运行以下命令来应用更改:

ldapadd -x -D cn=Manager,dc=ibmlsf,dc=com -W -f ldapuser.ldif

  1. 要验证是否已按先前步骤中提到的那样创建用户,请使用以下命令:

ldapsearch -x -LLL -b "ou=People,dc=ibmlsf,dc=com" "(objectClass=posixAccount)" uid cn

OpenLDAP 服务器现已配置完毕,可供使用。 通过创建更多 LDIF 文件并使用 ldapadd 命令将这些文件导入到目录中,可以添加更多用户和组。

步骤 2: 在 OLDAP 目录中创建用户组

现在已配置 OpenLDAP 服务器,您需要在 OLDAP 目录中创建用户组,该用户组由应该访问 LSF 集群的用户组成。

  1. 要创建组,请使用 ldapadd 命令将组的 LDIF 条目添加到 LDAP 目录。 例如,要创建名为 "LSFAdministrators" 和 "LSF使用者" 的组,可以创建具有以下内容的 LDIF 文件:

    # create an organizational unit for groups dn: ou=groups,dc=ibmlsf,dc=com objectClass: organizationalUnit ou: groups # create a group called "LSFadministrators" dn: cn=LSFadministrators,ou=groups,dc=ibmlsf,dc=com objectClass: top objectClass: posixGroup gidNumber: 1001 cn: LSFadministrators description: LSFadministrators group # create a group called "LSFconsumers" dn: cn=LSFconsumers,ou=groups,dc=ibmlsf,dc=com objectClass: top objectClass: posixGroup gidNumber: 1002 cn: LSFconsumers description: LSFconsumers group 

    在此示例中,第一个条目创建名为 "groups" 的组织单元。 接下来的两个条目将创建名为 "LSFAdministrators" 和 "LSF使用者" 的组。

    每个组条目指定 objectClass "top" 和 "posixGroup" 以定义组的模式。 gidNumber 属性指定组的唯一标识,而 cn 属性指定组的公共名称。 最后, description 属性提供组的简要描述。

  2. 您可以将上一步中的内容保存在具有 .ldif 扩展名的文件 (例如 groups.ldif) 中,然后使用 ldapadd 命令将这些组条目添加到 LDAP 目录中。 请参阅以下 ldapadd 示例命令:

    ldapadd -x -D cn=Manager,dc=ibmlsf,dc=com -W -f groups.ldif [root@oldapserverlsfcl ~]# ldapsearch -x -D cn=Manager,dc=ibmlsf,dc=com -W -b "ou=groups,dc=ibmlsf,dc=com" "(objectClass=posixGroup)" Enter LDAP Password: # extended LDIF # # LDAPv3 # base <ou=groups,dc=ibmlsf,dc=com> with scope subtree # filter: (objectClass=posixGroup) # requesting: ALL # # LSFadministrators, groups, ibmlsf.com dn: cn=LSFadministrators,ou=groups,dc=ibmlsf,dc=com objectClass: top objectClass: posixGroup gidNumber: 1001 cn: LSFadministrators description: LSFadministrators group memberUid: user2lsf memberUid: user1lsf # LSFconsumers, groups, ibmlsf.com dn: cn=LSFconsumers,ou=groups,dc=ibmlsf,dc=com objectClass: top objectClass: posixGroup gidNumber: 1002 cn: LSFconsumers description: LSFconsumers group memberUid: lsfoprt memberUid: lsfsupport # search result search: 2 result: 0 Success 

此输出显示在 ou=groups,dc=ibmlsf,dc=com 组织单元中有两个组条目: LSFadministrators 和 LSFconsumers

稍后,您可以使用 ldapmodify 命令将现有用户添加到这些组。 在先前的 ldapsearch 输出中,两个用户被视为每个组的成员。

步骤 3: 在客户端机器上配置 LDAP 认证

接下来,需要为正在将 RHEL 8 作为操作系统运行的客户端机器配置 LDAP 认证,并将 OLDAP 服务器作为认证提供程序或身份提供者运行。 在这种情况下, OLDAP 客户机是 LSF 集群,因此以下步骤适用于在 RHEL 8 Linux® 机器上运行的 LSF 集群节点。

在以下步骤中,确保将 "dc=***,dc=***" 部分中的域名替换为您自己的域名。

  1. 请运行以下命令:

    yum -y install openldap-clients nss-pam-ldapd

    yum install authselect sssd oddjob oddjob-mkhomedir

    authconfig --enablesssd --enablesssdauth --update

  2. 启用 SSSD 认证概要文件:

    authselect select sssd

  3. 将 LDAP 服务器 URL 和基本搜索 DN 添加到 /etc/openldap/ldap.conf 文件,如以下示例中所示:

    URI ldap://ibmlsf.com/ <or IP address will also work> BASE dc=ibmlsf,dc=com

  4. 在 /etc/sssd 目录中,使用以下内容创建文件 sssd.conf :

    [domain/default] autofs_provider = ldap cache_credentials = True ldap_search_base = dc=ibmlsf,dc=com id_provider = ldap auth_provider = ldap chpass_provider = ldap ldap_uri = ldap://<ip address of the LDAP Server> [sssd] services = nss, pam, autofs domains = default [nss] homedir_substring = /home

    使用基本 DN 更新 ldap_search_base 参数,并使用 LDAP 服务器的 URL 更新 ldap_uri 。

  5. 更改 /etc/sssd/sssd.conf 文件的许可权:

    chmod 600 /etc/sssd/sssd.conf

  6. 重新启动并启用 SSSD:

    systemctl restart sssd systemctl enable sssd

现在,您已将 SSSD 配置为在 RHEL 8 系统上使用 LDAP 服务器 "ibmlsf.com" 进行用户认证。

步骤 4: 配置 LSF 集群

现在,您已配置 LDAP 客户机认证,需要配置在 LDAP 上托管的 LSF 集群以指向 OLDAP 服务器,这将确保 LSF 集群与 OLDAP 服务器的集成可用于用户管理。

  1. 备份现有 lsf.conf 和 lsf.cluster.name 文件:

    cp/etc/lsf.conf /etc/lsf.conf.backup cp/etc/lsf.cluster.name /etc/lsf.cluster.name.backup

  2. 编辑 lsf.conf 文件以添加 LDAP 认证设置:

    AUTHMODE=ldap AUTHLDAPSERVER=<OpenLDAP_server> AUTHLDAPBASEDN=<LDAP_base_DN> AUTHLDAPUSER=<bind_DN> AUTHLDAPPASS=<bind_password> AUTHLDAPUSERTYPE=<user_object_class> AUTHLDAPUSERSEARCH=<user_search_filter> AUTHLDAPGROUP=<group_object_class> AUTHLDAPGROUPSEARCH=<group_search_filter>

    将值替换为您的相关信息。 请参阅下表以获取更多详细信息:

    表 1. LDAP 认证设置
    描述
    <OpenLDAP_server>OpenLDAP 服务器的主机名或 IP 地址
    <LDAP_base_DN>OpenLDAP 目录的基本 DN
    <bind_DN>IBM Spectrum LSF 应该用于绑定到 OpenLDAP 服务器以进行认证的用户的专有名称
    <bind_password>绑定用户的密码
    <user_object_class>OpenLDAP 目录中用户条目的对象类
    <user_search_filter>用户条目的搜索过滤器
    <group_object_class>组条目的对象类
    <group_search_filter>组条目的搜索过滤器
  3. 重新启动以下三个服务,以便您在 lsf.conf 文件中配置的认证设置可以生效:

    bctrld restart sbd all

    bctrld restart res all

    bctrld restart lim all

  4. 编辑 lsf.cluster.name 文件以指定 LDAP 认证域:

    LSF_CLUSTER_NAME=<cluster_name> LSF_LDAP_DOMAIN=<LDAP_authentication_domain

    将 <cluster_name> 替换为 IBM Spectrum LSF 集群的名称,并将 <LDAP_authentication_domain> 替换为 LDAP 认证域的名称。

授予对 LSF 集群的访问权

要向组授予对 LSF 集群的访问权,需要编辑 LSF 配置文件以将该组包含在相应的访问控制表 (ACL) 中。

特定 LDAP 命令行工具和命令可能有所不同。

  1. 以 LSF 管理员身份登录到集群中的任何主机。

  2. 打开 lsb.users (/opt/ibm/lsf/conf/lsbatch/HPCCLUSTER/configdir)。

  3. 编辑 "UserGroup" 部分。 以下示例显示了 lsb.users的 "UserGroup" 部分; 但是,如果您看到另一个 "UserGroup" 部分,那么可以使用此示例中的值 (取自 LSF 集群服务器) 创建新的部分:

    [root@icgen2host-172-19-1-69 configdir]# cat lsb.users # $Revision$Date$ # After editing this file, run "badmin reconfig" to apply your changes. # User groups can be referenced by the lsb.hosts and lsb.queues files. # All the example definitions here are commented out # User group for lsf cluster administration Begin UserGroup GROUP_NAME PRIORITY GROUP_MEMBER GROUP_ADMIN lsfamitadmin 100 (user1lsf user2lsf) (user1lsf) #groupA 200 (user1 user2 user3 user4) (user5) #groupB 100 (groupA user5) (groupA) #groupC 50 (!) () End UserGroup # User group for all LSF administrators Begin UserGroup GROUP_NAME GROUP_MEMBER #USER_SHARES # Key words lsfadmins (lsfadmin ) newlsf (lsfuser123) #ldapusers (ldapuser01 ldapuser02) End UserGroup # Perform the following edit in the lsb.params file located in "/opt/ibm/lsf/conf/lsbatch/HPCCLUSTER/configdir" Define STRICT_UG_CONTROL=Y in lsb.params 

  4. 要启用用户组管理员,请在 GROUP_ADMIN 列中指定用户或用户组,使用空格分隔用户和用户组,并将每个 GROUP_ADMIN 条目括在方括号中。

  5. 保存更改。

  6. 运行 badmin ckconfig 以检查新的用户组定义。 如果报告了任何错误,请修正问题并再次检查配置。

  7. 运行 badmin reconfig 以重新配置集群。

管理 LSF 集群

登录后,可以使用 EGO 命令来管理 LSF 集群,例如 egosh resource, egosh job和 egosh host等 (如以下示例中所示)。

要完成以下步骤,您需要使用具有高特权的 LSF 用户帐户。 只有具有高特权的帐户才能将用户添加到 LSF 集群,然后向其分配角色。 但是,如果为新添加的用户分配了 CLUSTER_Admin 角色,那么该用户还可以为随后添加的用户完成以下步骤。

  1. 要将 OLDAP 服务器中创建的现有用户 "user1lsf" 添加到 LSF 集群,您需要以集群管理员身份登录,然后运行以下命令:

    [root@icgen2host-172-19-1-69 ~]# su Lsfadmin bash-4.4$ egosh user logon -u Admin -x Admin Admin@HPCCluster> user add user account: user1lsf password: password(type again, please): User account < user1lsf > added successfully Admin@HPCCluster>@HPCCluster> user logoff Logged off successfully

  2. 通过运行以下命令,使用上一步中添加的用户登录到 LSF 集群:

    [root@icgen2host-172-19-1-69 ~]# su user1lsf bash-4.4$ egosh user logon -u user1lsf -x welcome@31! Logged on successfully bash-4.4$ egosh user1lsf@HPCCluster> resource list NAME status mem swp tmp ut it pg r1m r15s r15m ls icgen2h* ok 14G 0M 74G 2% 0 0 0.1 0 0 1 icgen2h* ok 15G 0M 75G 0% 20339 0 0 0.3 0 0 user1lsf@HPCCluster> ego info Cluster name : HPCCluster EGO master host name : icgen2host-172-19-1-69 EGO master version : 3.4 user1lsf@HPCCluster> 

  3. 通过运行以下命令向新用户分配角色:

    lsfadmin@HPCCluster> user assignrole -u user1lsf -r CONSUMER_USER Role <Consumer User> is assigned to user <user1lsf>. lsfadmin@HPCCluster> user list ACCOUNT PHONE EMAIL DESCRIPTION ---------------------------------------------------------------- Admin Guest user2lsf user1lsf smith

结论

现在,您已成功将 OpenLDAP 与 IBM Spectrum LSF 集成,以提供集中式认证和目录服务,这使您能够使用现有 LDAP 基础结构进行认证。 您还启用了对 IBM Spectrum LSF的安全且简化的用户访问权。

这篇关于将 OpenLDAP 与 IBM Spectrum LSF 集成的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/509468

相关文章

【区块链 + 人才服务】区块链集成开发平台 | FISCO BCOS应用案例

随着区块链技术的快速发展,越来越多的企业开始将其应用于实际业务中。然而,区块链技术的专业性使得其集成开发成为一项挑战。针对此,广东中创智慧科技有限公司基于国产开源联盟链 FISCO BCOS 推出了区块链集成开发平台。该平台基于区块链技术,提供一套全面的区块链开发工具和开发环境,支持开发者快速开发和部署区块链应用。此外,该平台还可以提供一套全面的区块链开发教程和文档,帮助开发者快速上手区块链开发。

【Shiro】Shiro 的学习教程(三)之 SpringBoot 集成 Shiro

目录 1、环境准备2、引入 Shiro3、实现认证、退出3.1、使用死数据实现3.2、引入数据库,添加注册功能后端代码前端代码 3.3、MD5、Salt 的认证流程 4.、实现授权4.1、基于角色授权4.2、基于资源授权 5、引入缓存5.1、EhCache 实现缓存5.2、集成 Redis 实现 Shiro 缓存 1、环境准备 新建一个 SpringBoot 工程,引入依赖:

系统架构师-ERP+集成

ERP   集成平台end:就懒得画新的页

Spring Boot集成Tess4J实现OCR

1.什么是Tess4j? Tesseract是一个开源的光学字符识别(OCR)引擎,它可以将图像中的文字转换为计算机可读的文本。支持多种语言和书面语言,并且可以在命令行中执行。它是一个流行的开源OCR工具,可以在许多不同的操作系统上运行。Tess4J是一个基于Tesseract OCR引擎的Java接口,可以用来识别图像中的文本,说白了,就是封装了它的API,让Java可以直接调用。 Tess

使用Spring Boot集成Spring Data JPA和单例模式构建库存管理系统

引言 在企业级应用开发中,数据库操作是非常重要的一环。Spring Data JPA提供了一种简化的方式来进行数据库交互,它使得开发者无需编写复杂的JPA代码就可以完成常见的CRUD操作。此外,设计模式如单例模式可以帮助我们更好地管理和控制对象的创建过程,从而提高系统的性能和可维护性。本文将展示如何结合Spring Boot、Spring Data JPA以及单例模式来构建一个基本的库存管理系统

Spring Boot集成PDFBox实现电子签章

概述 随着无纸化办公的普及,电子文档的使用越来越广泛。电子签章作为一种有效的身份验证方式,在很多场景下替代了传统的纸质文件签名。Apache PDFBox 是一个开源的Java库,可以用来渲染、生成、填写PDF文档等操作。本文将介绍如何使用Spring Boot框架结合PDFBox来实现电子签章功能。 准备工作 环境搭建:确保你的开发环境中安装了JDK 8或更高版本,并且配置好了Maven或

springboot+maven搭建的项目,集成单元测试

springboot+maven搭建的项目,集成单元测试 1.在pom.xml文件中引入单元测试的依赖包 <!--单元测试依赖--><dependency><groupId>org.springframework.boot</groupId><artifactId>spring-boot-starter-test</artifactId><scope>test</scope></depen

Java消息队列:RabbitMQ与Kafka的集成与应用

Java消息队列:RabbitMQ与Kafka的集成与应用 大家好,我是微赚淘客返利系统3.0的小编,是个冬天不穿秋裤,天冷也要风度的程序猿! 在现代的分布式系统中,消息队列是实现系统间通信、解耦和提高可扩展性的重要组件。RabbitMQ和Kafka是两个广泛使用的消息队列系统,它们各有特点和优势。本文将介绍如何在Java应用中集成RabbitMQ和Kafka,并展示它们的应用场景。 消息队

java后端服务监控与告警:Prometheus与Grafana集成

Java后端服务监控与告警:Prometheus与Grafana集成 大家好,我是微赚淘客返利系统3.0的小编,是个冬天不穿秋裤,天冷也要风度的程序猿! 在现代的微服务架构中,监控和告警是确保服务稳定性的关键组成部分。Prometheus和Grafana是两个强大的工具,它们可以集成在一起,为Java后端服务提供实时监控和可视化告警。 服务监控的重要性 服务监控可以帮助我们实时了解服务的健

环信_Android_第一部_JAR包集成

自己新建 project...不用easeui的包,太不友好了..全部自己解封.自己写 个是在要Android studio 3.3.2版本中测试有效在android7和8(API24,25,26,27)四个个版本中有效. 如果到了Adnroid9(API28,Q)会有so报错.在AndroidMaifest.xml有两处用☆标出来 注意三点. 1:复制两个文件夹文件 libs.av 是