All Products
Search
Document Center

Simple Log Service:Associate Simple Log Service with a MySQL database

Last Updated:Jan 25, 2024

This topic describes how to create an external store to associate Simple Log Service with a MySQL database.

Prerequisites

  • Data is collected to Simple Log Service. For more information, see Data collection overview.

  • Data is stored in the MySQL database.

Background information

The external storage feature of Simple Log Service allows you to associate Simple Log Service with databases created on ApsaraDB RDS for MySQL instances and self-managed MySQL databases hosted on Elastic Compute Service (ECS) instances. The external storage feature also allows you to write query and analysis results to the MySQL databases for further processing. In the following descriptions, the ApsaraDB RDS for MySQL instances are referred to as RDS instances. For more information about how to create a MySQL external store, see Associate a Logstore with a MySQL database to perform query and analysis.

Procedure

  1. Configure a whitelist for your MySQL database.

    • If you use a MySQL database created on an RDS instance, add the following CIDR blocks to the whitelist: 100.104.0.0/16, 11.194.0.0/16, and 11.201.0.0/16. For more information, see Configure an IP address whitelist.

    • If you use a self-managed MySQL database hosted on a virtual private cloud (VPC)-type ECS instance and the ECS instance is added to a security group, configure security group rules to allow access from the following CIDR blocks: 100.104.0.0/16, 11.194.0.0/16, and 11.201.0.0/16. For more information, see Add a security group rule.

  2. Create an external store.

    1. Install Simple Log Service CLI. For more information, see Overview of Simple Log Service CLI.

    2. Create a configuration file named /home/config.json.

    3. Add the following script to the /home/config.json file. Replace the parameter values based on your business requirements.

      {
          "externalStoreName":"sls_join_meta_store",
          "storeType":"rds-vpc",
          "parameter":{
              "region":"cn-qingdao",
              "vpc-id":"vpc-m5eq4irc1pucp*******",
              "host":"localhost",
              "port":"3306",
              "username":"user",
              "password":"****",
              "db":"scmc",
              "table":"join_meta"
          }
      }

      Parameter

      Description

      externalStoreName

      The name of the external store. The name must be in lowercase.

      storeType

      The type of the data source. Set the value to rds-vpc.

      region

      The region.

      • If you use a MySQL database created on an RDS instance, set region to the region where the RDS instance resides.

      • If you use a self-managed MySQL database hosted on a VPC-type ECS instance, set region to the region where the ECS instance resides.

      Important

      The RDS instance or the ECS instance must reside in the same region as your Simple Log Service project.

      vpc-id

      The ID of the VPC.

      • If you use a MySQL database created on a VPC-type RDS instance, set vpc-id to the ID of the VPC to which the RDS instance belongs.

      • If you use a MySQL database created on a VPC-type AnalyticDB instance, set vpc-id to the ID of the VPC to which the AnalyticDB instance belongs.

      • If you use a self-managed MySQL database hosted on a VPC-type ECS instance, set vpc-id to the ID of the VPC to which the ECS instance belongs.

      • If your MySQL database can be accessed over the Internet, you do not need to configure vpc-id.

      host

      The address of your MySQL database.

      • If you use a MySQL database created on a VPC-type RDS instance, set host to an internal endpoint or the private IP address of the RDS instance.

      • If you use a MySQL database created on a VPC-type AnalyticDB instance, set host to an internal endpoint or the private IP address of the AnalyticDB instance.

      • If you use a self-managed MySQL database hosted on a VPC-type ECS instance, set host to the private IP address of the ECS instance.

      • If your MySQL database can be accessed over the Internet, set host to a public endpoint or the public IP address of your instance.

      port

      The port number.

      • If you use a MySQL database created on an RDS instance, set port to the port of the RDS instance.

      • If you use a self-managed MySQL database hosted on a VPC-type ECS instance, set port to the MySQL service port of the ECS instance.

      username

      The username of the account that you use to log on to your MySQL database.

      password

      The password of the account that you use to log on to your MySQL database.

      db

      The name of your MySQL database.

      table

      The name of the table that you want to use in your MySQL database.

    4. Create an external store.

      Replace the value of project_name with the name of the project that you want to use.

      aliyunlog log create_external_store --project_name="log-rds-demo" --config="file:///home/config.json" 

Related operations

  • Update the MySQL external store.

    aliyunlog log update_external_store --project_name="log-rds-demo" --config="file:///home/config.json" 
  • Delete the MySQL external store.

    aliyunlog log delete_external_store --project_name="log-rds-demo" --store_name=sls_join_meta_store

What to do next

Join queries on a Logstore and a MySQL database