数据库接入


被集成系统提供DB访问的配置信息,由平台定时请求的方式采集需要集成得数据,以逐条记录的方式传递给处理规则,并通过规则处理后,保存入平台。

# database
[DatabaseInput]
type = "DatabaseInput"
poolsize = 2
domain = "test"

# test databased
[TestDatabasedInput]
type = "ProcessInput"
splitter = "split_n"
stdout = true
stderr = true
is_daemon = true

[TestDatabasedInput.command.0]
bin = "./databased"
directory = "/opt/matrix/var/test/databased"
args = ["-etcd", "/matrix/apps/collector/databased/config.json","-name", "databased_wecise_test", "-debug"]

[TestDatabasedOutput]
type = "LogOutput"
use_global_logger = false
console = false
server_log_name = "databased_wecise"
server_log_type = "daemon"
server_log_keyspace = "matrix"
message_matcher = "Logger == 'TestDatabasedInput'"
encoder = "PayloadEncoder"

[!NOTE]

配置文件支持存放在ETCD上,也支持存放在操作系统的文件系统里

示例

/matrix/apps/collector/databased/config.json

{
    "rule": "/matrix/rules/test/omni",
    "rulemode": "eachone",
    "perfrule": "/matrix/rules/test/omniperf",
    "perfmode": "eachone",
    "domain": "test",
        "dbs": [
            {
            "dbname": "wecise_mysql_test",
            "type": "mysql",
            "ip": "127.0.0.1",
            "port": 3306,
            "db": "test_db",
            "user": "",
            "password":""
            },
            {
            "dbname": "wecise2_oracle_test",
            "type": "oracle",
            "ip": "127.0.0.1",
            "port": 1521,
            "db": "XE",
            "user": "sys",
            "password":"1qaZ2wsX",
                "options": {
                    "DBA PRIVILEGE": "SYSDBA"
                }
            }
        ],
    "sqls": [
        {
        "enable": true,
        "dbname": "wecise_mysql_test",
        "sqlname": "testtable",
        "sql": "select id, name, deptId, salary from npm where id >
        $id.last and name = 'testusera' limit 10",
            "initvar": {
            "id": 0
            },
        "timeout": 10,
        "poll": 10,
        "failureretests": 0,
        "retestinterval": 0,
        "description": "Test mysql task"
        },
        {
        "enable": true,
        "dbname": "wecise_mysql_test",
        "sqlname": "testtable2",
        "sql": "select id, name, deptId, salary from npm where id > $id.max
        and name = 'testuserc' limit 10",
            "initvar": {
            "id": 0
            },
        "timeout": 10,
        "poll": 10,
        "failureretests": 0,
        "retestinterval": 0,
        "description": "Test mysql task2"
        },
        {
        "enable": true,
        "dbname": "wecise2_oracle_test",
        "sqlname": "testtable3",
        "sql": "SELECT person_id, first_name, last_name FROM test_persons
        WHERE person_id > $person_id.last",
            "initvar": {
            "id": 0
            },
        "timeout": 10,
        "poll": 10,
        "failureretests": 0,
        "retestinterval": 0,
        "description": "Test oracle task"
        }
    ]
}

results matching ""

    No results matching ""