mirror of
https://github.com/Pardus-LiderAhenk/lider-ahenk-docs.git
synced 2024-12-23 15:12:52 +03:00
119 lines
7.1 KiB
Markdown
Executable file
119 lines
7.1 KiB
Markdown
Executable file
## Veritabanı
|
||
|
||
Lider Ahenk veritabanı olarak MariaDB 10.x kullanılmakta ve veritabanı katmanı olarak Lider içerisinde OpenJPA kullanılmaktadır.
|
||
Veritabanına ait EER diagramına [bu adresten](http://agem.com.tr/liderahenk/liderdb.mwb) erişebilirsiniz.
|
||
|
||
Lider Ahenk (görev işletimi, politika uygulama, Ahenk kaydı gibi) süreçlerinde sıklıkla kullanılan bazı veritabanı tabloları
|
||
ve açıklamaları aşağıdaki gibidir:
|
||
|
||
### C_COMMAND
|
||
|
||
```
|
||
+-------------------+--------------+------+-----+---------+-------+
|
||
| Field | Type | Null | Key | Default | Extra |
|
||
+-------------------+--------------+------+-----+---------+-------+
|
||
| COMMAND_ID | bigint(20) | NO | PRI | NULL | |
|
||
| ACTIVATION_DATE | date | YES | | NULL | |
|
||
| COMMAND_OWNER_UID | varchar(255) | YES | | NULL | |
|
||
| CREATE_DATE | datetime | NO | | NULL | |
|
||
| DN_LIST | text | YES | | NULL | |
|
||
| DN_TYPE | int(11) | YES | | NULL | |
|
||
| POLICY_ID | bigint(20) | YES | MUL | NULL | |
|
||
| TASK_ID | bigint(20) | YES | MUL | NULL | |
|
||
+-------------------+--------------+------+-----+---------+-------+
|
||
```
|
||
|
||
İşletilen her bir görev veya uygulanan her bir politikaya karşılık C_COMMAND tablosunda yeni bir kayıt oluşturulur. Yapılan
|
||
işlemin (görev yada politika) LDAP üzerinde hangi ögeler (DN_LIST) üzerinde çalıştırıldığı, bu ögelerden hangilerinin dikkate
|
||
alınması gerektiği (DN_TYPE) ve işlemin kim tarafından yapıldığını kayıt altına alır. Söz konusu her bir kayıt C_TASK veya C_POLICY
|
||
tablosuna referans vermektedir.
|
||
|
||
### C_TASK
|
||
|
||
```
|
||
+-----------------+--------------+------+-----+---------+-------+
|
||
| Field | Type | Null | Key | Default | Extra |
|
||
+-----------------+--------------+------+-----+---------+-------+
|
||
| TASK_ID | bigint(20) | NO | PRI | NULL | |
|
||
| COMMAND_CLS_ID | varchar(255) | YES | | NULL | |
|
||
| CREATE_DATE | datetime | NO | | NULL | |
|
||
| CRON_EXPRESSION | varchar(255) | YES | | NULL | |
|
||
| DELETED | bit(1) | YES | | NULL | |
|
||
| MODIFY_DATE | datetime | YES | | NULL | |
|
||
| PARAMETER_MAP | longblob | YES | | NULL | |
|
||
| PLUGIN_ID | bigint(20) | NO | MUL | NULL | |
|
||
+-----------------+--------------+------+-----+---------+-------+
|
||
```
|
||
|
||
İşletilen her bir görev için C_TASK tablosunda yeni bir kayıt oluşturulmaktadır ve görev işletimi sırasında Lider Arayüz üzerinden
|
||
gönderilen görev parametrelerini içermektedir.
|
||
|
||
### C_POLICY
|
||
|
||
```
|
||
+----------------+--------------+------+-----+---------+-------+
|
||
| Field | Type | Null | Key | Default | Extra |
|
||
+----------------+--------------+------+-----+---------+-------+
|
||
| POLICY_ID | bigint(20) | NO | PRI | NULL | |
|
||
| ACTIVE | bit(1) | YES | | NULL | |
|
||
| CREATE_DATE | datetime | NO | | NULL | |
|
||
| DELETED | bit(1) | YES | | NULL | |
|
||
| DESCRIPTION | varchar(255) | YES | | NULL | |
|
||
| LABEL | varchar(255) | NO | | NULL | |
|
||
| MODIFY_DATE | datetime | YES | | NULL | |
|
||
| POLICY_VERSION | varchar(255) | YES | | NULL | |
|
||
+----------------+--------------+------+-----+---------+-------+
|
||
```
|
||
|
||
Kaydedilen her bir politika için C_POLICY tablosunda bir kayıt oluşturulmakta ve her bir kayıt ilgili politikaya
|
||
dair politika adı, açıklaması, oluşturulma tarihi ve sürümü gibi bilgileri tutmaktadır. Diğer belgelerde açıklandığı gibi bir
|
||
politika bir veya birden fazla profil kaydından oluşmaktadır ve politikaya ait herhangi bir profilin değiştirilmesi durumunda
|
||
politika üzerindeki sürüm değeri bir arttırılmaktadır. Bu sürüm değeri Ahenk'in politika sorguladığı durumlarda bir politikanın
|
||
değişip değişmediğinin anlaşılması için kullanılmaktadır.
|
||
|
||
### C_COMMAND_EXECUTION
|
||
|
||
```
|
||
+----------------------+--------------+------+-----+---------+-------+
|
||
| Field | Type | Null | Key | Default | Extra |
|
||
+----------------------+--------------+------+-----+---------+-------+
|
||
| COMMAND_EXECUTION_ID | bigint(20) | NO | PRI | NULL | |
|
||
| CREATE_DATE | datetime | NO | | NULL | |
|
||
| DN | varchar(255) | YES | | NULL | |
|
||
| DN_TYPE | int(11) | YES | | NULL | |
|
||
| COMMAND_ID | bigint(20) | NO | MUL | NULL | |
|
||
+----------------------+--------------+------+-----+---------+-------+
|
||
```
|
||
|
||
İşletilen her bir görev ve uygulanan her bir politika için C_COMMAND tablosunda bir kayıt oluşturulduğundan bahsetmiştik. Yapılan
|
||
bu işlemde kaç tane LDAP ögesi var ise, her biri için C_COMMAND_EXECUTION tablosunda birer kayıt oluşturulmaktadır. Örneğin; LDAP
|
||
ağacında 3 adet Ahenk ögesi seçilerek 'ekran görüntüsü al' görevi işletildiğinde, 1 adet C_COMMAND kaydı altında (her bir Ahenk
|
||
DN değerine karşılık) 3 adet C_COMMAND_EXECUTION kaydı oluşturulur.
|
||
|
||
### C_COMMAND_EXECUTION_RESULT
|
||
|
||
```
|
||
+-----------------------------+------------+------+-----+---------+-------+
|
||
| Field | Type | Null | Key | Default | Extra |
|
||
+-----------------------------+------------+------+-----+---------+-------+
|
||
| COMMAND_EXECUTION_RESULT_ID | bigint(20) | NO | PRI | NULL | |
|
||
| AGENT_ID | bigint(20) | YES | | NULL | |
|
||
| CONTENT_TYPE | int(11) | YES | | NULL | |
|
||
| CREATE_DATE | datetime | NO | | NULL | |
|
||
| RESPONSE_CODE | int(11) | NO | | NULL | |
|
||
| RESPONSE_DATA | longblob | YES | | NULL | |
|
||
| RESPONSE_MESSAGE | text | YES | | NULL | |
|
||
| COMMAND_EXECUTION_ID | bigint(20) | NO | MUL | NULL | |
|
||
+-----------------------------+------------+------+-----+---------+-------+
|
||
```
|
||
|
||
Detay tablo olarak görev yapan C_COMMAND_EXECUTION_RESULT tablosu işletilen her bir görev veya uygulanan her bir politika
|
||
ait sonuç mesajların saklanması için kullanılmaktadır. Buna göre daha önceki örnekten devam edersek, LDAP ağacında 3 adet
|
||
Ahenk ögesi seçilerek 'ekran görüntüsü al' görevi işletildiğinde, 1 adet C_COMMAND kaydı altında 3 adet C_COMMAND_EXECUTION
|
||
kaydı ve her bir C_COMMAND_EXECUTION kaydı altında 1 adet C_COMMAND_EXECUTION_RESULT kaydı oluşturulur.
|
||
|
||
Bu tablonun detay tablo olarak yaratılması, görev veya politika sonucu olarak birden fazla sonucun döndürülebilmesine olanak sağlar.
|
||
Buna göre; örneğin (CPU, disk, RAM bellek gibi) sistem kaynaklarının belirli aralıklarla dinlendiği ve eşik değerin aşılmasıyla
|
||
uyarı mesajı döndürüldüğü bir görev işletilirken, eşik değer her geçildiğinde gönderilen görev sonucu bir C_COMMAND_EXECUTION_RESULT
|
||
kaydı olarak veritabanında tutulmaktadır.
|
||
|