[Быстрый старт Spring Boot] 10. Spring Boot интегрирует мониторинг данных Druid

Spring Boot задняя часть MySQL

Это 25-й день моего участия в августовском испытании обновлений. Узнайте подробности события:Испытание августовского обновления

предисловие

  Druid Spring Boot Starter помогает легко интегрировать пул соединений с базой данных Druid и мониторинг в ваш проект Spring Boot. В этой статье мы интегрируем Druid с Spring Boot для мониторинга источников данных.

Первое знакомство с Друидом

  Druid — это компонент приложения JDBC с открытым исходным кодом от Alibaba, который включает три части: прокси-драйвер DruidDriver, который может предоставлять подключаемую систему на основе режима Filter-Chain; DruidDataSource Эффективный и управляемый пул соединений с базой данных; SQLParser анализ синтаксиса SQL; Druid — лучший пул соединений с базой данных на языке Java. Druid предоставляет мощные возможности мониторинга и масштабирования.

Скачать Друид

DRUID - это проект с открытым исходным кодом, исходный код размещен на GitHub, адрес репозитория исходного кодаGitHub.com/alibaba/import….同时每次Druid发布正式版本和快照的时候,都会把源码打包,你可以从上面的下载地址中找到相关版本的源码。

DruidDataSource поддерживает базы данных

  Теоретически поддерживаются все базы данных на основе JDBC. на самом деле протестировали

база данных Статус поддержки
mysql поддержка, массовое использование
oracle поддержка, массовое использование
sqlserver служба поддержки
postgres служба поддержки
db2 служба поддержки
h2 служба поддержки
derby служба поддержки
sqlite служба поддержки
sybase служба поддержки

Druid автоматически распознает драйвер

Друид идентифицируется в соответствии с префиксом URL-адреса DriverClass, так что конфигурация более проста и удобна.

Префикс DriverCLass Описание
jdbc:odps com.aliyun.odps.jdbc.OdpsDriver
jdbc:derby org.apache.derby.jdbc.EmbeddedDriver
jdbc:mysql com.mysql.jdbc.Driver
jdbc:oracle oracle.jdbc.driver.OracleDriver
jdbc:microsoft com.microsoft.jdbc.sqlserver.SQLServerDriver
jdbc:sybase:Tds com.sybase.jdbc2.jdbc.SybDriver
jdbc:jtds net.sourceforge.jtds.jdbc.Driver
jdbc:postgresql org.postgresql.Driver
jdbc:fake com.alibaba.druid.mock.MockDriver
jdbc:mock com.alibaba.druid.mock.MockDriver
jdbc:hsqldb org.hsqldb.jdbcDriver
jdbc:db2 com.ibm.db2.jdbc.app.DB2Driver Драйвер JDBC DB2 очень сбивает с толку, это совпадение не обязательно правильное
jdbc:sqlite org.sqlite.JDBC
jdbc:ingres com.ingres.jdbc.IngresDriver
jdbc:h2 org.h2.Driver
jdbc:mckoi com.mckoi.JDBCDriver
jdbc:cloudscape com.cloudscape.core.JDBCDriver
jdbc:informix-sqli com.informix.jdbc.IfxDriver
jdbc:timesten com.timesten.jdbc.TimesTenDriver
jdbc:as400 com.ibm.as400.access.AS400JDBCDriver
jdbc:sapdb com.sap.dbtech.jdbc.DriverSapDB
jdbc:JSQLConnect com.jnetdirect.jsql.JSQLDriver
jdbc:JTurbo com.newatlanta.jturbo.driver.Driver
jdbc:firebirdsql org.firebirdsql.jdbc.FBDriver
jdbc:interbase interbase.interclient.Driver
jdbc:pointbase com.pointbase.jdbc.jdbcUniversalDriver
jdbc:edbc ca.edbc.jdbc.EdbcDriver
jdbc:mimer:multi1 com.mimer.jdbc.Driver

быстрый старт

добавить зависимости

  Druid 0.1.18 и более поздние версии выпускаются в центральном репозитории maven, поэтому вам нужно только добавить зависимость в pom.xml проекта.

      <dependency>
            <groupId>mysql</groupId>
            <artifactId>mysql-connector-java</artifactId>
            <scope>runtime</scope>
        </dependency>
        <!-- mybatis-spring-boot-starter -->
        <dependency>
            <groupId>org.mybatis.spring.boot</groupId>
            <artifactId>mybatis-spring-boot-starter</artifactId>
            <version>2.1.1</version>
        </dependency>
        <!-- druid -->
        <dependency>
            <groupId>com.alibaba</groupId>
            <artifactId>druid</artifactId>
            <version>1.1.11</version>
        </dependency>

Основное использование зависимости — это зависимости от Druid, другие зависят от mysql и mybatis. Удобно для подключения базы данных.

Настроить DruidMoniterConfig

Настройка мониторинга и управления друидным мониторингом, в основном для мониторинга и управления веб-концом может просмотреть информацию. Основная информация о конфигурации для имени пользователя, имени пользователя, пароль, разрешение доступа к разрешению доступа к черному списку IP и другой информации. Затем вам нужно настроить фильтр веб-мониторинга, фильтровать статические файлы

/**
 * @ClassName DruidMoniterConfig
 * @Description: DruidMoniterConfig
 * @Author JavaZhan @公众号:Java全栈架构师
 * @Date 2020/6/13
 * @Version V1.0
 **/
@Configuration
public class DruidMoniterConfig{
    @Bean
    public ServletRegistrationBean statViewServlet(){
        ServletRegistrationBean bean = new ServletRegistrationBean(new StatViewServlet(), "/druid/*");
        Map<String,String> initParams = new HashMap<>();
        initParams.put("loginUsername","admin");
        initParams.put("loginPassword","admin");
        initParams.put("allow","");
        initParams.put("deny","192.168.127.98");

        bean.setInitParameters(initParams);
        return bean;
    }

  
    @Bean
    public FilterRegistrationBean webStatFilter(){
        FilterRegistrationBean bean = new FilterRegistrationBean();
        bean.setFilter(new WebStatFilter());
        Map<String,String> initParams = new HashMap<>();
        initParams.put("exclusions","*.js,*.css,/druid/*");
        bean.setInitParameters(initParams);
        bean.setUrlPatterns(Arrays.asList("/*"));
        return  bean;
    }
}

Основная информация о конфигурации

Файл конфигурации    в основном включает URL-адрес источника данных, имя пользователя базы данных, пароль базы данных, класс драйвера и другую информацию о конфигурации, связанную с источником данных.

server.port=8888

# mysql
spring.datasource.url=jdbc:mysql://127.0.0.1:3306/test?useUnicode=true&characterEncoding=utf-8&zeroDateTimeBehavior=convertToNull
spring.datasource.username=test
spring.datasource.password=123456
spring.datasource.driver-class-name=com.mysql.jdbc.Driver
spring.datasource.type=com.alibaba.druid.pool.DruidDataSource

mybatis.mapper-locations=classpath*:mapper/**/*.xml

стартовый класс

/**
 * @ClassName DemoMyBatisApplication
 * @Description: DemoMyBatisApplication
 * @Author JavaZhan @公众号:Java全栈架构师
 * @Date 2020/6/13
 * @Version V1.0
 **/
@SpringBootApplication
@MapperScan("com.example.demo.mapper")
public class DemoMyBatisApplication {

    public static void main(String[] args) {
        SpringApplication.run(DemoMyBatisApplication.class, args);
    }

}

страница монитора

   После запуска проекта введите в браузереHttp://127.0.0.1:8888/druid/, автоматический переход на страницу http://127.0.0.1:8888/druid/login.html, необходимо ввести имя пользователя и пароль 图片.pngПосле ввода имени пользователя и пароля войдите на страницу мониторинга, информация о странице следующая:图片.pngВ основном включает в себя: источник данных, мониторинг SQL, брандмауэр SQL, веб-приложение, мониторинг URI, мониторинг сеансов, мониторинг Spring, JSON API и другую информацию. Что ж, встроенный в Spring Boot мониторинг данных Druid завершен.

Эпилог

Spring Boot объединяет мониторинг Druid Data Monitoring, что удобно для анализа информации о данных соединения базы данных и мониторинга SQL, которые являются всеми базовыми учебниками. Более глубокая конфигурация будет объяснена в будущих учебных пособиях.

  Представление автора: [Маленький Аджи] Программист, который любит возиться, разработчик JAVA и энтузиаст. Ведущий официального аккаунта [Java Full Stack Architect], добро пожаловать на чтение и общение.

   Хорошо, спасибо за прочтение, надеюсь, вам понравилось, если вам было полезно, ставьте лайк и подписывайтесь. Если есть какие-либо несоответствия, добро пожаловать в комментарии. Увидимся в следующий раз.