События системного журнала#

Системный лог выводится в консоль контейнера приложения. Для просмотра системного журнала через веб-интерфейс Kubernetes необходимо выполнить следующие действия:

Шаг

Действие

Вход в веб-консоль Kubernetes

Перейдите по ссылке (URL) веб-консоли нужного кластера Kubernetes, в окне ввода учетных данных введите токен пользователя или kubeconfig

Переход в нужный Namespace (проект)

Выберите нужный Namespace (проект) в выпадающем списке в верхней части веб-интерфейса Kubernetes

Переход в Workload/Pods

1. В меню выберите пункт Workload/Pods
2. На странице найдите нужный Pod (используйте поиск по имени)
3. Нажмите и выберите Logs
4. Задайте в верхней панели имя контейнера (Logs from <имя контейнера> in <имя Pod>)

Просмотр событий системного журнала

В появившемся окне увидите системный журнал приложения

Выход из веб-консоли Kubernetes

1. Нажмите по имени пользователя, чтобы раскрыть меню учетной записи
2. Выберите пункт Log out
3. Закройте окно браузера

В разделе Событий видно как успешные события, связанные с установкой и обработкой kind:AnsibleRun/kind:ProviderConfig, так и различные ошибки. События типа DEBUG и VERBOSE можно увидеть, изменив уровень логирования SYAP. Информацию об изменении уровня логирования можно увидеть в документе «Руководство по системному администрированию» раздела «Изменение уровня логирования в системном логе». Уровень логирования INFO включён по умолчанию и подразумевает вывод только лога Ansible. Уровень логирования VERBOSE определяется как DEBUG на уровне оператора SYAP и как -vv на уровне Ansible. Уровень логирования DEBUG определяется как DEBUG на уровне оператора SYAP и как -vvv на уровне Ansible. Включать события уровня VERBOSE,DEBUG не рекомендуется в промышленных инсталляциях SYAP. Информацию об изменении уровня логирования можно увидеть в документе «Руководство по системному администрированию» раздела «Изменение уровня логирования в системном логе».

Пример событий:

Пример лога с уровнем VERBOSE:

VLEVEL
-vv
ansible-playbook [core 2.14.5]
  config file = None
  configured module search path = ['/.ansible/plugins/modules', '/usr/share/ansible/plugins/modules']
  ansible python module location = /venv/lib/python3.11/site-packages/ansible
  ansible collection location = /.ansible/collections:/usr/share/ansible/collections
  executable location = /venv/bin/ansible-playbook
  python version = 3.11.2 (main, Sep 14 2024, 03:00:30) [GCC 12.2.0] (/venv/bin/python3)
  jinja version = 3.1.2
  libyaml = True
No config file found; using defaults
[WARNING]: Unable to parse /ansibleDir/07a564cc-
fdbd-42c2-a3c4-8d9f9f314c54/hosts as an inventory source
[WARNING]: No inventory was parsed, only implicit localhost is available
[WARNING]: provided hosts list is empty, only localhost is available. Note that
the implicit localhost does not match 'all'
Skipping callback 'awx_display', as we already have a stdout callback.
Skipping callback 'default', as we already have a stdout callback.
Skipping callback 'minimal', as we already have a stdout callback.
Skipping callback 'oneline', as we already have a stdout callback.

PLAYBOOK: egress_create_playbook.yaml ******************************************
2 plays in egress_create_playbook.yaml

PLAY [localhost] ***************************************************************

TASK [Gathering Facts] *********************************************************
task path: /.ansible/collections/ansible_collections/synapse/utils/playbooks/create_istio_configs.yaml:1
ok: [localhost]

TASK [create owner reference] **************************************************
task path: /.ansible/collections/ansible_collections/synapse/utils/playbooks/create_istio_configs.yaml:3
ok: [localhost] => {"ansible_facts": {"ownerRef": {"ansibleRun": "example1", "ansibleRunKind": "AnsibleRun", "ansibleRunUid": "07a564cc-fdbd-42c2-a3c4-8d9f9f314c54", "apiVersion": "ansible.crossplane.io/v1alpha1"}}, "changed": false}

TASK [push to k8s] *************************************************************
task path: /.ansible/collections/ansible_collections/synapse/utils/playbooks/create_istio_configs.yaml:10
skipping: [localhost] => {"changed": false, "skipped_reason": "No items in the list"}

PLAY [all] *********************************************************************
skipping: no hosts matched

PLAY RECAP *********************************************************************
localhost                  : ok=2    changed=0    unreachable=0    failed=0    skipped=1    rescued=0    ignored=0   
VLEVEL
-vv
ansible-playbook [core 2.14.5]
  config file = None
  configured module search path = ['/.ansible/plugins/modules', '/usr/share/ansible/plugins/modules']
  ansible python module location = /venv/lib/python3.11/site-packages/ansible
  ansible collection location = /.ansible/collections:/usr/share/ansible/collections
  executable location = /venv/bin/ansible-playbook
  python version = 3.11.2 (main, Sep 14 2024, 03:00:30) [GCC 12.2.0] (/venv/bin/python3)
  jinja version = 3.1.2
  libyaml = True
No config file found; using defaults
[WARNING]: Unable to parse /ansibleDir/07a564cc-
fdbd-42c2-a3c4-8d9f9f314c54/hosts as an inventory source
[WARNING]: No inventory was parsed, only implicit localhost is available
[WARNING]: provided hosts list is empty, only localhost is available. Note that
the implicit localhost does not match 'all'
Skipping callback 'awx_display', as we already have a stdout callback.
Skipping callback 'default', as we already have a stdout callback.
Skipping callback 'minimal', as we already have a stdout callback.
Skipping callback 'oneline', as we already have a stdout callback.

PLAYBOOK: egress_create_playbook_1.yaml ****************************************
1 plays in egress_create_playbook_1.yaml

PLAY [localhost] ***************************************************************

TASK [Gathering Facts] *********************************************************
task path: /.ansible/collections/ansible_collections/synapse/utils/playbooks/create_istio_configs_download_archive.yaml:1
skipping: [localhost] => {"changed": false, "skip_reason": "Conditional result was False"}

TASK [create owner reference] **************************************************
task path: /.ansible/collections/ansible_collections/synapse/utils/playbooks/create_istio_configs_download_archive.yaml:4
skipping: [localhost] => {"changed": false, "skip_reason": "Conditional result was False"}

TASK [push to k8s] *************************************************************
task path: /.ansible/collections/ansible_collections/synapse/utils/playbooks/create_istio_configs_download_archive.yaml:11
skipping: [localhost] => {"changed": false, "skipped_reason": "No items in the list"}

TASK [register username] *******************************************************
task path: /.ansible/collections/ansible_collections/synapse/utils/playbooks/create_istio_configs_download_archive.yaml:26
skipping: [localhost] => {"changed": false, "skip_reason": "Conditional result was False"}

TASK [register pass] ***********************************************************
task path: /.ansible/collections/ansible_collections/synapse/utils/playbooks/create_istio_configs_download_archive.yaml:29
skipping: [localhost] => {"changed": false, "skip_reason": "Conditional result was False"}

TASK [download distrib] ********************************************************
task path: /.ansible/collections/ansible_collections/synapse/utils/playbooks/create_istio_configs_download_archive.yaml:32
skipping: [localhost] => {"changed": false, "skipped_reason": "No items in the list"}

TASK [debug] *******************************************************************
task path: /.ansible/collections/ansible_collections/synapse/utils/playbooks/create_istio_configs_download_archive.yaml:47
skipping: [localhost] => {}

TASK [push to k8s] *************************************************************
task path: /.ansible/collections/ansible_collections/synapse/utils/playbooks/create_istio_configs_download_archive.yaml:49
skipping: [localhost] => {"changed": false, "skipped_reason": "No items in the list"}

TASK [push to k8s] *************************************************************
task path: /.ansible/collections/ansible_collections/synapse/utils/playbooks/create_istio_configs_download_archive.yaml:64
skipping: [localhost] => {"changed": false, "skipped_reason": "No items in the list"}

PLAY RECAP *********************************************************************
localhost                  : ok=0    changed=0    unreachable=0    failed=0    skipped=9    rescued=0    ignored=0   
VLEVEL
-vv
ansible-playbook [core 2.14.5]
  config file = None
  configured module search path = ['/.ansible/plugins/modules', '/usr/share/ansible/plugins/modules']
  ansible python module location = /venv/lib/python3.11/site-packages/ansible
  ansible collection location = /.ansible/collections:/usr/share/ansible/collections
  executable location = /venv/bin/ansible-playbook
  python version = 3.11.2 (main, Sep 14 2024, 03:00:30) [GCC 12.2.0] (/venv/bin/python3)
  jinja version = 3.1.2
  libyaml = True
No config file found; using defaults
[WARNING]: Unable to parse /ansibleDir/07a564cc-
fdbd-42c2-a3c4-8d9f9f314c54/hosts as an inventory source
[WARNING]: No inventory was parsed, only implicit localhost is available
[WARNING]: provided hosts list is empty, only localhost is available. Note that
the implicit localhost does not match 'all'
Skipping callback 'awx_display', as we already have a stdout callback.
Skipping callback 'default', as we already have a stdout callback.
Skipping callback 'minimal', as we already have a stdout callback.
Skipping callback 'oneline', as we already have a stdout callback.

PLAYBOOK: playbook.yml *********************************************************
1 plays in playbook.yml

PLAY [localhost] ***************************************************************

TASK [Gathering Facts] *********************************************************
task path: /ansibleDir/07a564cc-fdbd-42c2-a3c4-8d9f9f314c54/playbook.yml:3
ok: [localhost]

TASK [debug] *******************************************************************
task path: /ansibleDir/07a564cc-fdbd-42c2-a3c4-8d9f9f314c54/playbook.yml:5
ok: [localhost] => {
    "msg": "here"
}

PLAY RECAP *********************************************************************
localhost                  : ok=2    changed=0    unreachable=0    failed=0    skipped=0    rescued=0    ignored=0   
VLEVEL
-vv
ansible-playbook [core 2.14.5]
  config file = None
  configured module search path = ['/.ansible/plugins/modules', '/usr/share/ansible/plugins/modules']
  ansible python module location = /venv/lib/python3.11/site-packages/ansible
  ansible collection location = /.ansible/collections:/usr/share/ansible/collections
  executable location = /venv/bin/ansible-playbook
  python version = 3.11.2 (main, Sep 14 2024, 03:00:30) [GCC 12.2.0] (/venv/bin/python3)
  jinja version = 3.1.2
  libyaml = True
No config file found; using defaults
[WARNING]: Unable to parse /ansibleDir/07a564cc-
fdbd-42c2-a3c4-8d9f9f314c54/hosts as an inventory source
[WARNING]: No inventory was parsed, only implicit localhost is available
[WARNING]: provided hosts list is empty, only localhost is available. Note that
the implicit localhost does not match 'all'
Skipping callback 'awx_display', as we already have a stdout callback.
Skipping callback 'default', as we already have a stdout callback.
Skipping callback 'minimal', as we already have a stdout callback.
Skipping callback 'oneline', as we already have a stdout callback.

PLAYBOOK: rollback_egress_create_playbook.yaml *********************************
1 plays in rollback_egress_create_playbook.yaml

PLAY [localhost] ***************************************************************

TASK [Gathering Facts] *********************************************************
task path: /.ansible/collections/ansible_collections/synapse/utils/playbooks/delete_istio_configs.yaml:1
ok: [localhost]

TASK [create owner reference] **************************************************
task path: /.ansible/collections/ansible_collections/synapse/utils/playbooks/delete_istio_configs.yaml:3
ok: [localhost] => {"ansible_facts": {"ownerRef": {"ansibleRun": "example1", "ansibleRunKind": "AnsibleRun", "ansibleRunUid": "07a564cc-fdbd-42c2-a3c4-8d9f9f314c54", "apiVersion": "ansible.crossplane.io/v1alpha1"}}, "changed": false}

TASK [push to k8s to delete] ***************************************************
task path: /.ansible/collections/ansible_collections/synapse/utils/playbooks/delete_istio_configs.yaml:10
skipping: [localhost] => {"changed": false, "skipped_reason": "No items in the list"}

TASK [push to k8s to update] ***************************************************
task path: /.ansible/collections/ansible_collections/synapse/utils/playbooks/delete_istio_configs.yaml:26
skipping: [localhost] => {"changed": false, "skipped_reason": "No items in the list"}

PLAY RECAP *********************************************************************
localhost                  : ok=2    changed=0    unreachable=0    failed=0    skipped=2    rescued=0    ignored=0   
{"level":"debug","ts":"2025-02-06T09:34:55Z","logger":"provider-ansible","msg":"External resource is up to date","controller":"managed/ansiblerun.ansible.crossplane.io","request":{"name":"example1","namespace":"cloud-esb-syap"},"uid":"07a564cc-fdbd-42c2-a3c4-8d9f9f314c54","version":"705505547","external-name":"example1","namespace":"cloud-esb-syap","requeue-after":"2025-02-06T09:35:55Z"}

Пример лога с уровнем INFO:

PLAY [localhost] ***************************************************************

TASK [Gathering Facts] *********************************************************
ok: [localhost]

TASK [test] ********************************************************************
ok: [localhost] => {
    "msg": "this is a test"
}

PLAY RECAP *********************************************************************
localhost                  : ok=2    changed=0    unreachable=0    failed=0    skipped=0    rescued=0    ignored=0

Пример лога с уровнем DEBUG:

{"level":"debug","ts":"2024-12-18T07:57:05Z","logger":"provider-ansible","msg":"Reconciling","controller":"managed/ansiblerun.ansible.crossplane.io","request":{"name":"example","namespace":"cloud-esb-syap"}}
{"level":"debug","ts":"2024-12-18T07:57:05Z","logger":"provider-ansible","msg":"secret being downloaded for the first time OR triggerUponChange is false","Connect.credentialProcess":{"filename":"ansible-vault","source":"Secret","secretRef":{"name":"ansible-vault","namespace":"cloud-esb-syap","key":"ansible-vault"}},"secret":{"name":"ansible-vault","namespace":"cloud-esb-syap","key":"ansible-vault"}}
ansible-playbook [core 2.14.5]
  config file = None
  configured module search path = ['/.ansible/plugins/modules', '/usr/share/ansible/plugins/modules']
  ansible python module location = /opt/app-root/lib64/python3.9/site-packages/ansible
  ansible collection location = /.ansible/collections:/usr/share/ansible/collections
  executable location = /opt/app-root/bin/ansible-playbook
  python version = 3.9.16 (main, Apr  4 2023, 12:57:32) [GCC 8.5.0 20210514 (Platform V SberLinux 8.5.0-17)] (/opt/app-root/bin/python)
  jinja version = 3.1.2
  libyaml = True
No config file found; using defaults
[WARNING]: Unable to parse
/ansibleDir/44a502b8-ac7a-4715-9514-c4569fb02757/hosts as an inventory source
[WARNING]: No inventory was parsed, only implicit localhost is available
[WARNING]: provided hosts list is empty, only localhost is available. Note that
the implicit localhost does not match 'all'
Skipping callback 'awx_display', as we already have a stdout callback.
Skipping callback 'default', as we already have a stdout callback.
Skipping callback 'minimal', as we already have a stdout callback.
Skipping callback 'oneline', as we already have a stdout callback.

PLAYBOOK: egress_create_playbook.yaml ******************************************
2 plays in egress_create_playbook.yaml

PLAY [localhost] ***************************************************************

TASK [Gathering Facts] *********************************************************
task path: /.ansible/collections/ansible_collections/synapse/igeg/playbooks/create_istio_configs.yaml:1
skipping: [localhost] => {"changed": false, "skip_reason": "Conditional result was False"}

TASK [create owner reference] **************************************************
task path: /.ansible/collections/ansible_collections/synapse/igeg/playbooks/create_istio_configs.yaml:3
skipping: [localhost] => {"changed": false, "skip_reason": "Conditional result was False"}

TASK [push to k8s] *************************************************************
task path: /.ansible/collections/ansible_collections/synapse/igeg/playbooks/create_istio_configs.yaml:10
skipping: [localhost] => {"changed": false, "skip_reason": "Conditional result was False"}

PLAY [all] *********************************************************************
skipping: no hosts matched

PLAY RECAP *********************************************************************
localhost                  : ok=0    changed=0    unreachable=0    failed=0    skipped=3    rescued=0    ignored=0   
ansible-playbook [core 2.14.5]
  config file = None
  configured module search path = ['/.ansible/plugins/modules', '/usr/share/ansible/plugins/modules']
  ansible python module location = /opt/app-root/lib64/python3.9/site-packages/ansible
  ansible collection location = /.ansible/collections:/usr/share/ansible/collections
  executable location = /opt/app-root/bin/ansible-playbook
  python version = 3.9.16 (main, Apr  4 2023, 12:57:32) [GCC 8.5.0 20210514 (Platform V SberLinux 8.5.0-17)] (/opt/app-root/bin/python)
  jinja version = 3.1.2
  libyaml = True
No config file found; using defaults
[WARNING]: Unable to parse
/ansibleDir/44a502b8-ac7a-4715-9514-c4569fb02757/hosts as an inventory source
[WARNING]: No inventory was parsed, only implicit localhost is available
[WARNING]: provided hosts list is empty, only localhost is available. Note that
the implicit localhost does not match 'all'
Skipping callback 'awx_display', as we already have a stdout callback.
Skipping callback 'default', as we already have a stdout callback.
Skipping callback 'minimal', as we already have a stdout callback.
Skipping callback 'oneline', as we already have a stdout callback.

PLAYBOOK: playbook.yml *********************************************************
1 plays in playbook.yml

PLAY [localhost] ***************************************************************

TASK [Gathering Facts] *********************************************************
task path: /ansibleDir/44a502b8-ac7a-4715-9514-c4569fb02757/playbook.yml:2
ok: [localhost]

TASK [test] ********************************************************************
task path: /ansibleDir/44a502b8-ac7a-4715-9514-c4569fb02757/playbook.yml:4
ok: [localhost] => {
    "msg": "this is a test"
}

PLAY RECAP *********************************************************************
localhost                  : ok=2    changed=0    unreachable=0    failed=0    skipped=0    rescued=0    ignored=0   
{"level":"debug","ts":"2024-12-18T07:57:12Z","logger":"provider-ansible","msg":"External resource is up to date","controller":"managed/ansiblerun.ansible.crossplane.io","request":{"name":"example","namespace":"cloud-esb-syap"},"uid":"44a502b8-ac7a-4715-9514-c4569fb02757","version":"659093884","external-name":"example","namespace":"cloud-esb-syap","requeue-after":"2024-12-18T07:58:12Z"}
{"level":"debug","ts":"2024-12-18T07:57:12Z","logger":"provider-ansible.events","msg":"External resource is up to date","type":"Normal","object":{"kind":"AnsibleRun","namespace":"cloud-esb-syap","name":"example","uid":"44a502b8-ac7a-4715-9514-c4569fb02757","apiVersion":"ansible.crossplane.io/v1alpha1","resourceVersion":"659093892"},"reason":"UpdatedExternalResource"}