Назначение владельцев объектов
Вы можете назначить Команды владения для любого контролируемого объекта в Ключ-АСТРОМ, используя основной идентификатор команды или дополнительные идентификаторы (определяемые при настройке команды). Это упрощает мгновенный поиск ответственной команды и связь с ней в случае возникновения какой-либо проблемы с объектом, например, если объект затронут уязвимостью.
Владение можно применить с помощью нескольких методов, таких как метки и аннотации Kubernetes, метаданные хоста, переменные среды и теги (в том числе через API пользовательских тегов Ключ-АСТРОМ).
Поддерживаемые методы применения владения
Поддерживаются следующие методы применения типов собственности и объектов.
- Метаданные развертывания или конфигурации рекомендуется
Метод | Типы сущностей |
---|---|
Метки и аннотации Kubernetes | Все объекты Kubernetes |
Хост метаданных через oneagentctl илиhostcustomproperties.conf
|
Хосты |
Переменные среды | Процессы |
- Теги (ручные, автоматические и через API) — все отслеживаемые объекты
Формат заполнения информации о владении
Независимо от используемого метода информация о владении применяется к объектам в парах ключ-значение . Ключи по умолчанию owner
и dt.owner
доступны в каждой среде мониторинга — см. Настройки > Владение > Настройка. Однако вы можете изменить или удалить ключи по умолчанию и определить свои собственные .
Значение всегда является уникальным идентификатором команды, указанным при создании команды. Вы также можете использовать дополнительные идентификаторы.
У сущности может быть более одной команды владения. Вы можете добиться этого, применяя несколько пар ключ-значение, как показано в следующих разделах.
Пользовательские ключи для информации владения
Вы можете определить максимум пять ключей для применения информации владения.
- Перейдите в Настройки > Владение > Настроить.
- Нажмите на кнопку Добавить ключ.
- Введите ключ (Включено по умолчанию).
- Сохраните изменения.
При отключении или удалении ключа объекта, назначенные командам через такие ключи, больше не будут отображать или хранить метаданные о владении. Однако такие ключи будут отображаться как обычные теги, применяемые к объектам.
Дополнительные требования к ключам владения
- Вы можете определить максимум пять и минимум один ключ.
- Вы можете использовать любой из определенных вами ключей в качестве префикса в парах ключ-значение. Например, для ключей
owner
иdt.owner
вы можете использоватьowner-1
иdt.owner-test
.
Метки и аннотации Kubernetes
Вы можете указать команды владения для различных объектов Kubernetes, таких как Deployments, Pods, Services или namespaces. Чтобы гарантировать, что объекты Kubernetes имеют адекватное покрытие владения, что особенно важно для недолговечных сущностей, таких как Pods, предоставьте информацию о владельце в виде меток или аннотаций Kubernetes с парами ключ-значение в файле спецификации развертывания, например, deployment.yaml
.
Мы рекомендуем определить владельца для Deployment и всех других объектов, для которых вы хотите охват владения. См. также Лучшие команды для владения.
- Установка идентификатора команды в качестве метки или аннотации для Deployment, CronJob, Job, DaemonSet или StatefulSet предоставляет информацию о владении командой для соответствующих объектов
CLOUD_APPLICATION
. Обратите внимание, что это владение не распространяется наCLOUD_APPLICATION_INSTANCE
. В этом примере двойное владение устанавливается через две метки для Deployment. Каждая метка имеет уникальный ключ. Уникальные ключи являются обязательным требованием в метках и аннотациях Kubernetes.apiVersion: apps/v1
kind: Deployment
metadata:
name: demo
labels:
dt.owner-1: my-team-1 # Dual team ownership defined for the Deployment
dt.owner-2: my-team-2
spec:
В примере кода ниже показана аннотация для владения на уровне развертывания.
apiVersion: apps/v1
kind: Deployment
metadata:
name: demo
annotations:
dt.owner: my-team # Ownership defined for the Deployment
- Установите метки для Pod, чтобы указать владельца для соответствующего объекта
CLOUD_APPLICATION_INSTANCE
. Укажите владельца для каждого Pod.apiVersion: apps/v1
kind: Deployment
metadata:
name: demo
spec:
replicas: 3
selector:
matchLabels:
app: demo
template:
metadata:
labels:
app: demo
dt.owner: my-team # Ownership defined for the Pod
spec:
В примере кода ниже показан манифест для Pod, имеющего аннотациюdt.owner: myTeam
.apiVersion: v1
kind: Pod
metadata:
name: annotations-demo
annotations:
imageregistry: "https://hub.docker.com/"
dt.owner: my-team
spec:
containers:
- name: nginx
image: nginx:1.14.2
ports:
- containerPort: 80
- Для процесса укажите владельца, используя пары ключ-значение с переменной среды
DT_CUSTOM_PROP
, которая определена для контейнера. В переменных окружения можно указать несколько значений для одного и того же ключа. В этом примере двойное владение определяется с помощью ключаowner
.apiVersion: apps/v1
kind: Deployment
metadata:
name: demo
spec:
replicas: 3
selector:
matchLabels:
app: demo
template:
spec:
containers:
- name: demo
image: demo:1.0.0
env:
- name: DT_CUSTOM_PROP ## Environment variable
value: "owner=team-automation owner=team-dev" # Dual ownership for the process; team IDs are team-automation and team-dev.
- Метки Kubernetes для сервиса
apiVersion: v1
kind: Service
metadata:
name: my-service
labels:
dt.owner: team-a # Ownership defined for the Service
spec:
selector:
app.kubernetes.io/name: MyApp
ports:
- protocol: TCP
port: 80
targetPort: 9376
- Метки Kubernetes для namespace
apiVersion: v1
kind: Namespace
metadata:
name: my-namespace
labels:
dt.owner: team-a # Ownership defined for the namespace
Метаданные хоста
Для хостов мы рекомендуем использовать метаданные хоста в качестве основного метода применения права собственности.
Узнайте больше об определении тегов и метаданных для хостов и интерфейсе командной строки ЕдиногоАгента oneagentctl
.
Вы также можете назначать владение хостам с помощью тегов .
С помощью oneagentctl
ЕдиныйАгент версии 1.189+ Для хостов с ЕдинымАгентом версии 1.189+ используйте oneagenctl
интерфейс командной строки после установки, чтобы задать свойство метаданных для отдельного хоста. Запустите oneagentctl
с правами администратора или root из этих расположений по умолчанию.
- Windows:
%PROGRAMFILES%\astromkey\oneagent\agent\tools
- Все Unix-подобные системы:
/opt/astromkey/oneagent/agent/tools
В этом примере для Unix-подобных систем используется --set-host-property
установка владения с помощью пары ключ-значение owner-1=team-automation
, где team-automation
— основной идентификатор команды или дополнительный идентификатор.
./oneagentctl --set-host-property owner-1=team-automation
С помощью hostcustomproperties.conf
ЕдиныйАгент версии 1.187 и более ранних Для хостов на ЕдиномАгенте 1.187 и более ранних версиях создайте или отредактируйте файл hostcustomproperties.conf
конфигурации ЕдиногоАгента в следующих местах.
- Windows:
%PROGRAMDATA%\astromkey\oneagent\agent\config
- се Unix-подобные системы:
/var/lib/astromkey/oneagent/agent/config
В этом примере для Unix-подобных систем устанавливается влияние на хост с помощью пары ключ-значение dt.owner-1=team-automation
, где team-automation
— основной идентификатор команды или дополнительный идентификатор.
cat hostcustomproperties.conf dt.owner-1=team-automation
Переменные среды процесса
Для процессов мы рекомендуем указывать владение в парах ключ-значение через переменную среды DT_CUSTOM_PROP
.
Мы не рекомендуем использовать теги для назначения владения процессам или группам процессов.
Узнайте больше об определении тегов и метаданных для хостов, например, о настройке переменной среды DT_CUSTOM_PROP
для IIS и Windows .
export DT_CUSTOM_PROP dt.owner=DemoTeam
См. Формат заполнения информации о владении (выше) ко всем существующим параметрам «ключ-значение» или для создания собственного.