OS 관리 허브는 운영 체제 환경을 관리하는 차세대 관리 솔루션입니다. OS 관리 허브는 Oracle Cloud Infrastructure 서비스로 제공되어 기능을 확장하고 복잡성을 줄입니다. 이 서비스는 Oracle Cloud Infrastructure (OCI), 사설 데이터 센터 및 지원되는 타사 클라우드에서 인스턴스를 관리하는 것을 지원합니다.
OS Management Hub는 업데이트를 관리하고 적용하기 위해 에이전트 플러그인을 사용합니다. 이 플러그인은 OS Management Hub가 지시하는대로 인스턴스의 OS 컨텐츠와 상호 작용하며 데이터와 결과를 서비스로 보고하는 에이전트입니다. 에이전트는 OCI와 온프레미스 또는 third-party cloud 를 지원 합니다.
OCI 인스턴스의 경우, OS Management Hub는 Oracle Cloud Agent 플러그인을 사용합니다. OS Management Hub를 사용하려면 플러그인을 활성화해야 합니다. 아래 5-2 참조 하세요
OS Management Hub는 최소 Oracle Cloud Agent 버전 1.40을 필요로 합니다. 2024년 4월 이전에 출시된 플랫폼 이미지를 사용하는 인스턴스의 경우, Oracle Cloud Agent를 1.40 이상으로 업그레이드 해야 합니다.
OS 관리 허브는 다양한 환경에서 운영체제를 효율적으로 관리 할 수 있도록 설계된 중앙 집중화된 관리 플랫폼으로 아래와 같은 특징을 가지고 있습니다.
중앙 집중식 관리 : OS 관리 허브는 중앙 관리 콘솔을 통해 다양한 환경에 분산된 서버를 한 곳에서 관리하며, 웹 기반 인터페이스로 사용자가 쉽게 접근하고 관리할 수 있습니다. 또한, Oracle Linux뿐만 아니라 Windows, 다양한 운영체제를 지원하여 다양한 IT 환경에 적용할 수 있습니다.
자동화된 패치 관리 : OS 관리 허브는 관리 콘솔을 통해 패치 적용 작업을 자동으로 스케줄링하고 배포하며, 필요한 패치를 자동으로 다운로드하여 서버에 적용합니다. 또한, 패치 적용 후 문제가 발생할 경우 이전 상태로 롤백할 수 있는 기능을 제공하여 시스템 안정성을 유지합니다.
설정 관리 : OS 관리 허브는 다양한 서버의 설정을 중앙에서 관리하고 일관성을 유지하며, 설정 변경 내역을 추적하고 감사하여 컴플라이언스 요구사항을 충족합니다.
무료 테넌시에서는 지원되지 않습니다.
온-프레미스 환경 혹은 다른 클라우드에서 사용하기 위해서는 오라클 리눅스 기반의 프리미엄 지원이 구독되어 있어야 합니다.
아래 내용은 OCI 환경에서 인스턴스 생성하여, OS 관리 허브에 등록하고 대쉬보드에 대해서 간단히 설명 하고자 합니다. 해당 테스트는 OS 관리 허브가 출시된 이후의 내용이므로 이전에 생성된 인스턴스는 OCI Agent 버전을 확인하여 맞게 업데이트 해주셔야 합니다. (참조 : 5-2-3. Cloud Agent 트러블 슈팅)
**!! 운영환경에 적용하기 위해서는 먼저, 테스트 이후 점진적으로 적용해야 합니다.!! **
환경 설정은 아래 정채 및 동적그룹 생성부터 시작됩니다. 아래 내용에 따라서 확인해 주세요.
**//OCI**
ANY {instance.compartment.id='<compartment_ocid>',instance.compartment.id='<subcompartment_ocid>'}
**//Non-OCI (추가정책)**
ALL {resource.type='managementagent', resource.compartment.id='<compartment_ocid>'}
ALL {resource.type='managementagent', resource.compartment.id='<subcompartment_ocid>'}
**### OCI 환경 (Tenancy Level 정책)**
**// OCI**
allow dynamic-group <osmh_dynamic_group> to {OSMH_MANAGED_INSTANCE_ACCESS} in tenancy where request.principal.id = target.managed-instance.id
allow group <user_group> to manage osmh-family in tenancy
**//On-premises or third-party cloud (추가정책)**
allow group <user_group> to manage management-agents in tenancy
allow group <user_group> to manage management-agent-install-keys in tenancy
**### Non-Tenancy Level**
**// OCI**
allow dynamic-group <osmh_dynamic_group> to {OSMH_MANAGED_INSTANCE_ACCESS} in compartment <compartment_name> where request.principal.id = target.managed-instance.id
allow group <user_group> to manage osmh-family in compartment <compartment_name>
**//On-premises or third-party cloud(추가정책)**
allow group <user_group> to manage management-agents in compartment <compartment_name>
allow group <user_group> to manage management-agent-install-keys in compartment <compartment_name>
컴퓨트의 상세정보에서 Oracle Cloud 에이전트 하위 “Oracle Management Hub Agent” 플러그인 사용 으로 변경하면 됩니다.
일부 Cloud Agent 아래와 같이 수동으로 버전 및 정상적인 통신 여부를 확인해야 합니다.
//For Oracle Linux and CentOS, run the following command: 패키지 정보 확인
sudo yum info oracle-cloud-agent
//For Oracle Linux Cloud Developer, run the following command:
rpm -qa | grep oracle-cloud-agent
//For Ubuntu, run the following command:
snap info oracle-cloud-agent
//Windows
Get-WmiObject -Class Win32_Product | Where-Object { $_.Name -eq "Oracle Cloud Agent" }
sudo yum info oracle-cloud-agent
sudo yum install -y oracle-cloud-agent
sudo systemctl status oracle-cloud-agent
sudo systemctl restart oracle-cloud-agent
Log 확인 (/var/log/oracle-cloud-agent/plugins/gomon/monitoring.log)
sudo tail -15 /var/log/oracle-cloud-agent/plugins/gomon/monitoring.log
2024/06/25 23:53:18.020385 base_client.go:87: fetched metadata from http://169.254.169.254/opc/v2/instance/ , status 200 OK
2024/06/25 23:53:18.024696 base_client.go:87: fetched metadata from http://169.254.169.254/opc/v2/instance/ , status 200 OK
2024/06/25 23:53:18.071202 base_client.go:87: fetched metadata from http://169.254.169.254/opc/v2/instance/ , status 200 OK
2024/06/25 23:53:18.217565 base_client.go:87: fetched metadata from http://169.254.169.254/opc/v2/instance/ , status 200 OK
2024/06/25 23:53:18.217735 clients.go:415: telemetry endpoint: https://telemetry-ingestion.ap-seoul-1.oraclecloud.com
2024/06/25 23:53:18.270611 t2.go:145: Sent metrics status: 200; took: 53ms; with opc-request-id:235caeea753b8fc18a8b6f9a7a148e38/BDF55CEE7AEAEC3194E7756C5FEC65F6/76777F61B589D50B4F5EE59E38096BBE;
2024/06/25 23:54:18.048159 t2.go:145: Sent metrics status: 200; took: 37ms; with opc-request-id:55658fc16a3edb9bfb1ac25e6cb86957/8A07251A7944CAF775F64D485FC08AD9/DFD94EA0348DE48E3344BC7DF835BBD6;
2024/06/25 23:55:18.020014 base_client.go:87: fetched metadata from http://169.254.169.254/opc/v2/instance/ , status 200 OK
2024/06/25 23:55:18.056261 t2.go:145: Sent metrics status: 200; took: 36ms; with opc-request-id:cda5e77d2c5dc0cdffef07745e534e96/B8C6DBA820E3AE42599D7A09C0F01B6E/2ADF9108EBAD002AC0AABC77DD0927A4;
2024/06/25 23:56:18.048529 t2.go:145: Sent metrics status: 200; took: 37ms; with opc-request-id:7d6c014ba971e8015aaa857b311069d3/3096E602E1A16B54BC5C6E7F0594B8F3/A2EADD59A6BBDE526B9A1CFAD0B6503F;
2024/06/25 23:57:18.018116 base_client.go:87: fetched metadata from http://169.254.169.254/opc/v2/instance/ , status 200 OK
2024/06/25 23:57:18.048241 t2.go:145: Sent metrics status: 200; took: 30ms; with opc-request-id:d045e0ef223341105e9f3d23c27df3fa/D94D5D5A429FB42BE224782DEA311D71/0375F3B6114062EFDD36A3F7BF8C22FB;
2024/06/25 23:58:18.037391 t2.go:145: Sent metrics status: 200; took: 35ms; with opc-request-id:5ec6d9e0f4e248b49b8ee1df80ef50ba/0FF177F649844D2E83BC3AF46402C9B3/CD9F1FAA0BD498399FD5CB83ACA5F958;
2024/06/25 23:59:18.015779 base_client.go:87: fetched metadata from http://169.254.169.254/opc/v2/instance/ , status 200 OK
2024/06/25 23:59:18.052652 t2.go:145: Sent metrics status: 200; took: 37ms; with opc-request-id:5b7056302871790d769003012015b0fa/9E55255917559F78FC6FA6E792A3753F/63CF6E66F06CA2CFFCAF78E55163C573;
통신 확인 (Agent가 OCI 관리허브 통신 여부 확인)
* Trying 169.254.169.254...
* TCP_NODELAY set
* Connected to 169.254.169.254 (169.254.169.254) port 80 (#0)
> GET /opc/v2/instance/ HTTP/1.1
> Host: 169.254.169.254
> User-Agent: curl/7.61.1
> Accept: */*
> Authorization: Bearer Oracle
>
< HTTP/1.1 200 OK
< Server: server
< Date: Tue, 25 Jun 2024 23:56:44 GMT
< Content-Type: application/json
< Transfer-Encoding: chunked
< Connection: keep-alive
< Etag: ecf47ded-3327
< Last-Modified: Tue, 25 Jun 2024 23:51:54 GMT
< X-Request-Id: 527b4c9a-f860-4d4f-854d-bdd440e3de09
<
{
"agentConfig": {
"allPluginsDisabled": false,
"managementDisabled": false,
"monitoringDisabled": false,
"pluginsConfig": [
{
"desiredState": "DISABLED",
"name": "Vulnerability Scanning"
},
{
"desiredState": "DISABLED",
"name": "Oracle Java Management Service"
},
{
"desiredState": "DISABLED",
"name": "OS Management Service Agent"
},
{
"desiredState": "ENABLED",
"name": "OS Management Hub Agent"
},
{
"desiredState": "DISABLED",
"name": "Management Agent"
},
{
"desiredState": "ENABLED",
"name": "Custom Logs Monitoring"
},
{
"desiredState": "DISABLED",
"name": "Compute RDMA GPU Monitoring"
},
{
"desiredState": "ENABLED",
"name": "Compute Instance Run Command"
},
{
"desiredState": "ENABLED",
"name": "Compute Instance Monitoring"
},
{
"desiredState": "DISABLED",
"name": "Compute HPC RDMA Auto-Configuration"
},
{
"desiredState": "DISABLED",
"name": "Compute HPC RDMA Authentication"
},
{
"desiredState": "ENABLED",
"name": "Cloud Guard Workload Protection"
},
{
"desiredState": "DISABLED",
"name": "Block Volume Management"
},
{
"desiredState": "DISABLED",
"name": "Bastion"
}
]
},
"availabilityDomain": "TqvH:AP-SEOUL-1-AD-1",
"canonicalRegionName": "ap-seoul-1",
"compartmentId": "ocid1.compartment.oc1..aaaaaaaayv7vc7ij6kpgjxvhr75fbcthp3znrzg74fa4wa2jxozbjmdrquoq",
"definedTags": {
"Oracle-Tags": {
"CreatedBy": "default/ggoggodec@naver.com",
"CreatedOn": "2024-06-25T23:51:31.828Z"
}
},
"displayName": "instance-linux-8",
"faultDomain": "FAULT-DOMAIN-1",
"hostname": "instance-linux-8",
"id": "ocid1.instance.oc1.ap-seoul-1.anuwgljrw7dtmeicej3wh6l5hgtlagx6sbor3poihgox7zde2nfa22d3thtq",
"image": "ocid1.image.oc1.ap-seoul-1.aaaaaaaaow2nrto4fmtyo6all6twcr2wwjcim2qhguiipymbimmfxe773nyq",
"metadata": {
"ssh_authorized_keys": "ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABgQDX3qWljCNTYrcENsTk1k8kKR22/CU1HojqZIdEc9uWjXxy9p2It8VAbhH9M96kWvjnXgsaoGneIdTPWzj13k8FV8s+CQMceVcRP+oO2WRNYgc6e0vxGWAvGRzIYVzl5k9+eFo2Kh7jvdsRVO1OpJMSj6r1nzViR81BoeXW89W7rcOJ6E0rOVzJIbyUBgpJJ/FfZ3Z/BxIiCMbC0Y+xqpnjBAucMaDTOit5Jbp4AN6tCHrAGDUUJRzpAmQhsuUk3AGBsm2FmZsC/EetCUsc95CX2bJjgXR9AMX9B6DbUDzGQm+XsYtoOq/6HZgCjkMht0duKDDmRuGM+i3Sh0CJOtQL5YMUSnJP1xw7d55INeGNiXMjo7I2LIPRzkB4ncvGmjB5Tuf/hhVGxSzaU2Ib98d6jxy5PhnzrZlwR4ToapJsY5GIgSVOKUvUGUmIcad3mmZJrtUD1ur0VWgY3G6EZI4njg0i+6elEa9wRxDFnCQiD1F9OZfs6lSNdBRdE18Rs4k= ggoggodec@gimgisuui-MacBookPro.local"
},
"ociAdName": "ap-seoul-1-ad-1",
"region": "ap-seoul-1",
"regionInfo": {
"realmDomainComponent": "oraclecloud.com",
"realmKey": "oc1",
"regionIdentifier": "ap-seoul-1",
"regionKey": "ICN"
},
"shape": "VM.Standard.E4.Flex",
"shapeConfig": {
"maxVnicAttachments": 2,
"memoryInGBs": 16.0,
"networkingBandwidthInGbps": 1.0,
"ocpus": 1.0
},
"state": "Running",
"tenantId": "ocid1.tenancy.oc1..aaaaaaaaqeufcu4qs6cqnwaixgaox3wiosz2evuvrwm2f7hacz3mhkizaafq",
"timeCreated": 1719359492266
* Connection #0 to host 169.254.169.254 left intact
}
참조 링크
https://docs.oracle.com/en-us/iaas/Content/Compute/Tasks/manage-plugins.htm#manage-plugins
https://docs.oracle.com/en-us/iaas/Content/Compute/Tasks/manage-plugins-troubleshooting.htm
정상적으로 OS 관리 허브가 활성화가 이루어지며 아래와 같은 화면을 확인 할 수 있습니다. (정상적으로 화면이 보이지 않는다면, 아래 구획을 확인해 주세요.)
OS Management HUb는 EOL(April 23, 2025)이 될 예정입니다. 따라서 기존에 OS Management HUB 사용자는 OS Management service 로 마이그레이션 하셔야 합니다.
https://docs.oracle.com/en-us/iaas/os-management/osms/osms-migration-osmh.htm
이 글은 개인적으로 얻은 지식과 경험을 작성한 글로 내용에 오류가 있을 수 있습니다. 또한 글 속의 의견은 개인적인 의견으로 특정 회사를 대변하지 않습니다.
Kisu Kim INFRASTRUCTURE
oci compute management Hub image