Netgate Discussion Forum
    • Categories
    • Recent
    • Tags
    • Popular
    • Users
    • Search
    • Register
    • Login

    How to read CPU temperature on 1100, 2100, and 4200?

    Scheduled Pinned Locked Moved Official Netgate® Hardware
    20 Posts 9 Posters 1.1k Views 6 Watching
    Loading More Posts
    • Oldest to Newest
    • Newest to Oldest
    • Most Votes
    Reply
    • Reply as topic
    Log in to reply
    This topic has been deleted. Only users with topic management privileges can see it.
    • GertjanG Offline
      Gertjan @Joe0x7F
      last edited by

      @Joe0x7F said in How to read CPU temperature on 1100, 2100, and 4200?:

      Somehow. I have missed ...

      It's here :

      6f3f8682-9ae3-47a6-973b-d54a1aeaf089-image.png

      The GUI gets it's info from here.

      On my 4100 :

      [25.07.1-RELEASE][root@pfSense.bhf.tld]/etc/inc: sysctl dev.cpu.0.temperature
      dev.cpu.0.temperature: 50.0C
      

      No "help me" PM's please. Use the forum, the community will thank you.
      Edit : and where are the logs ??

      R 1 Reply Last reply Reply Quote 0
      • O Offline
        OpIT GmbH
        last edited by

        We are using NET-SNMP und PRTG

        CPU_Temperatur
        /sbin/sysctl -n dev.cpu.0.temperature | tr -d C

        System_Updates
        /usr/local/sbin/pfSense-upgrade -c

        Package_Updates
        /usr/sbin/pkg upgrade

        937bc2ca-7eb4-4430-a751-20030ece51bb-image.png

        R 1 Reply Last reply Reply Quote 0
        • J Offline
          Joe0x7F
          last edited by Joe0x7F

          Thanks for the ideas. But, still no luck :(

          No “temperature” on my 2100 dashboard.

          Version 25.07.1-RELEASE (arm64)
          built on Wed Aug 20 8:17:00 EDT 2025
          FreeBSD 15.0-CURRENT


          https://192.168.1.1/diag_command.php
          Shell Output - sysctl dev.cpu.0.temperature
          sysctl: unknown oid 'dev.cpu.0.temperature'
          Execute Shell Command
          sysctl dev.cpu.0.temperature


          Shell Output - /sbin/sysctl -n dev.cpu.0.temperature | tr -d C
          Execute Shell Command
          /sbin/sysctl -n dev.cpu.0.temperature | tr -d C

          <NOTHING DISPLAYED>


          Shell Output - /usr/local/sbin/pfSense-upgrade -c

          Updating repositories metadata...done.
          Your system is up to date
          Execute Shell Command
          /usr/local/sbin/pfSense-upgrade -c

          Shell Output - /sbin/sysctl -n dev.cpu.0.temperature | tr -d C
          Execute Shell Command
          /sbin/sysctl -n dev.cpu.0.temperature | tr -d C

          <NOTHING DISPLAYED>

          bolded text

          S GertjanG patient0P 3 Replies Last reply Reply Quote 0
          • S Offline
            SteveITS Galactic Empire @Joe0x7F
            last edited by

            @Joe0x7F I don't think the ARM devices have a temperature. It may not be possible for them to get that hot. ;)

            It does show on the 4200 though.

            Only install packages for your version, or risk breaking it. Select your branch in System/Update/Update Settings.
            When upgrading, allow 10-15 minutes to reboot, or more depending on packages, CPU, and/or disk speed.
            Upvote 👍 helpful posts!

            F 1 Reply Last reply Reply Quote 0
            • GertjanG Offline
              Gertjan @Joe0x7F
              last edited by

              @Joe0x7F said in How to read CPU temperature on 1100, 2100, and 4200?:

              <NOTHING DISPLAYED>

              If nothing comes back, the GUI executes another command.
              You tested that one ?

              No "help me" PM's please. Use the forum, the community will thank you.
              Edit : and where are the logs ??

              J 1 Reply Last reply Reply Quote 0
              • patient0P Offline
                patient0 @Joe0x7F
                last edited by

                @Joe0x7F no hardware temperature sensor for 2100 and 1100, as stephenw10 explained in another post (use the search, Luke):

                https://forum.netgate.com/post/1016898

                1 Reply Last reply Reply Quote 0
                • stephenw10S Online
                  stephenw10 Netgate Administrator
                  last edited by

                  Yup that^.

                  But the 4200 should show the temp of each CPU core. There's a widget you can add to the dash or:

                  [25.11-BETA][admin@4200.stevew.lan]/root: sysctl -a | grep temperature
                  hw.acpi.thermal.tz0.temperature: 46.1C
                  dev.cpu.3.temperature: 41.0C
                  dev.cpu.2.temperature: 41.0C
                  dev.cpu.1.temperature: 41.0C
                  dev.cpu.0.temperature: 42.0C
                  
                  1 Reply Last reply Reply Quote 1
                  • J Offline
                    Joe0x7F @Gertjan
                    last edited by

                    @Gertjan Hmmm... I did not see another command, and I tried this various times and wait times afterward.

                    GertjanG 1 Reply Last reply Reply Quote 0
                    • J Offline
                      Joe0x7F
                      last edited by

                      Thanks, Everyone! I'm trying to get a baseline, so I'll have that information for troubleshooting later.

                      It may not be possible for them to get that hot. ;)

                      LOL. Sure.

                      1 Reply Last reply Reply Quote 0
                      • GertjanG Offline
                        Gertjan @Joe0x7F
                        last edited by

                        @Joe0x7F said in How to read CPU temperature on 1100, 2100, and 4200?:

                        I did not see another command

                        I'll highlight :

                        38d06610-3002-45d2-963c-5571f28839fe-image.png

                        But why looking, as it seems that a RISC processor doesn't have/need a temperature measurement device. These use so little power that they can't heat.

                        Intel/AMD processors are called "irons" for a reason.

                        No "help me" PM's please. Use the forum, the community will thank you.
                        Edit : and where are the logs ??

                        1 Reply Last reply Reply Quote 0
                        • stephenw10S Online
                          stephenw10 Netgate Administrator
                          last edited by

                          Well I wouldn't agree that they can't get hot enough. They definitely can! But they don't have a sensor that FreeBSD can usefully read.

                          1 Reply Last reply Reply Quote 0
                          • F Offline
                            FSC830 @SteveITS
                            last edited by

                            @SteveITS said in How to read CPU temperature on 1100, 2100, and 4200?:

                            @Joe0x7F I don't think the ARM devices have a temperature. It may not be possible for them to get that hot. ;)

                            It does show on the 4200 though.

                            At least the 3100 do have a sensor. 😉

                            f6b751d6-d8f2-4995-a3a9-27ef511ce44f-grafik.png

                            Regards

                            1 Reply Last reply Reply Quote 1
                            • R Offline
                              rduarteoliveira @Gertjan
                              last edited by

                              This post is deleted!
                              GertjanG 1 Reply Last reply Reply Quote 0
                              • GertjanG Offline
                                Gertjan @rduarteoliveira
                                last edited by

                                @rduarteoliveira

                                Guidance ?

                                @patient0 said in How to read CPU temperature on 1100, 2100, and 4200?:

                                no hardware temperature sensor for 2100 and 1100, as stephenw10 explained in another post (use the search, Luke):

                                the others do have a sensor.

                                No "help me" PM's please. Use the forum, the community will thank you.
                                Edit : and where are the logs ??

                                R 1 Reply Last reply Reply Quote 0
                                • R Offline
                                  rduarteoliveira @Gertjan
                                  last edited by

                                  @Gertjan Hi! Sorry, I am reply by mistake.

                                  1 Reply Last reply Reply Quote 0
                                  • R Offline
                                    rduarteoliveira @OpIT GmbH
                                    last edited by

                                    @OpIT-GmbH I hope you’re doing well. I’m having some difficulties configuring PRTG and would really appreciate your help with setting up a temperature graph.

                                    O R 2 Replies Last reply Reply Quote 0
                                    • O Offline
                                      OpIT GmbH @rduarteoliveira
                                      last edited by OpIT GmbH

                                      @rduarteoliveira

                                      First you need to setup NET-SNMP

                                      We are using NET-SNMP und PRTG

                                      CPU_Temperatur
                                      /sbin/sysctl -n dev.cpu.0.temperature | tr -d C

                                      System_Updates
                                      /usr/local/sbin/pfSense-upgrade -c

                                      Package_Updates
                                      /usr/sbin/pkg upgrade

                                      Then you Setup SNMP Sensor in PRTG

                                      Temp: We are using NET-SNMP und PRTG with a Custom OID, die OID depends on your Netgate. Here is what we use for 4100, witch one are u using?

                                      Temperature:
                                      1.3.6.1.4.1.8072.1.3.2.4.1.2.17.67.80.85.95.84.101.109.112.101.114.97.116.117.114.70.105.120.1

                                      System Updates:
                                      1.3.6.1.4.1.8072.1.3.2.4.1.2.17.83.121.115.116.101.109.95.85.112.100.97.116.101.115.70.105.120.4

                                      Package Updates: 1.3.6.1.4.1.8072.1.3.2.4.1.2.18.80.97.99.107.97.103.101.95.85.112.100.97.116.101.115.70.105.120.9

                                      5314a541-8e3b-44a5-b616-6afee4b7889f-image.png

                                      84e3fb69-1548-47d3-b7d7-7f4b78a28a2b-image.png

                                      1 Reply Last reply Reply Quote 1
                                      • R Offline
                                        rduarteoliveira @rduarteoliveira
                                        last edited by

                                        Great! I see what you’ve set up. I’m using custom hardware, and in addition, I’ve taken the following steps for the configuration and works!:

                                        1- Add the following lines to your snmpd.conf file (Multiples CPU cores):

                                        extend temp_cpu /bin/sh -c "/sbin/sysctl -n dev.cpu.0.temperature | tr -d 'C' | tr -d '\n'"
                                        extend temp_cpu /bin/sh -c "/sbin/sysctl -n dev.cpu.1.temperature | tr -d 'C' | tr -d '\n'"
                                        extend temp_cpu /bin/sh -c "/sbin/sysctl -n dev.cpu.2.temperature | tr -d 'C' | tr -d '\n'"
                                        extend temp_cpu /bin/sh -c "/sbin/sysctl -n dev.cpu.3.temperature | tr -d 'C' | tr -d '\n'"
                                        extend temp_cpu /bin/sh -c "/sbin/sysctl -n dev.cpu.4.temperature | tr -d 'C' | tr -d '\n'"
                                        extend temp_cpu /bin/sh -c "/sbin/sysctl -n dev.cpu.5.temperature | tr -d 'C' | tr -d '\n'"
                                        extend temp_cpu /bin/sh -c "/sbin/sysctl -n dev.cpu.6.temperature | tr -d 'C' | tr -d '\n'"
                                        extend temp_cpu /bin/sh -c "/sbin/sysctl -n dev.cpu.7.temperature | tr -d 'C' | tr -d '\n'"

                                        6590abd6-87e7-4927-a972-e15eab52c07f-image.png

                                        2- Verify the return string information.

                                        command:
                                        snmpwalk -v2c -c public localhost NET-SNMP-EXTEND-MIB::nsExtendOutputFull

                                        Result:
                                        NET-SNMP-EXTEND-MIB::nsExtendOutputFull."temp_cpu0" = STRING: 39.0
                                        NET-SNMP-EXTEND-MIB::nsExtendOutputFull."temp_cpu1" = STRING: 40.0
                                        NET-SNMP-EXTEND-MIB::nsExtendOutputFull."temp_cpu2" = STRING: 37.0
                                        NET-SNMP-EXTEND-MIB::nsExtendOutputFull."temp_cpu3" = STRING: 38.0
                                        NET-SNMP-EXTEND-MIB::nsExtendOutputFull."temp_cpu4" = STRING: 37.0
                                        NET-SNMP-EXTEND-MIB::nsExtendOutputFull."temp_cpu5" = STRING: 38.0
                                        NET-SNMP-EXTEND-MIB::nsExtendOutputFull."temp_cpu6" = STRING: 41.0
                                        NET-SNMP-EXTEND-MIB::nsExtendOutputFull."temp_cpu7" = STRING: 42.0

                                        c97be0c5-31dd-4554-a4c7-27d0094a167d-image.png

                                        3- Get the OID value corresponding to each individual CPU core.

                                        Command:
                                        snmptranslate -On 'NET-SNMP-EXTEND-MIB::nsExtendOutputFull."temp_cpu0"'

                                        Result:
                                        .1.3.6.1.4.1.8072.1.3.2.3.1.2.9.116.101.109.112.95.99.112.117.48

                                        bfc00e8f-cc48-4f31-a8d4-d53c24a88ef9-image.png

                                        Repeat for each CPU Core to have 08 OIDs.

                                        On the PRTG side, perform the following steps:

                                        1- Add SNMP Custom Advanced

                                        495d657f-8e6f-4b74-81e1-543f4dd37f29-image.png

                                        2- Fill up the information for each CPU:

                                        Sensor Type: SNMP Custom Advanced (supports up to 10 channels)

                                        Channel 1: Name CPU0, OID = numeric for "temp_cpu0", Unit = °C, Value Type = Float/Gauge

                                        Channel 2: Name CPU1, OID = numeric for "temp_cpu1", Unit = °C, Value Type = Float/Gauge

                                        … up to CPU7

                                        db1ddb5b-ac5d-4d29-ad03-0c4b8b22c143-image.png

                                        3- The graph is populated for each CPU core.

                                        d83f6cce-b37c-48f6-af76-ed864454f72a-image.png

                                        SetarcosS 1 Reply Last reply Reply Quote 0
                                        • SetarcosS Offline
                                          Setarcos @rduarteoliveira
                                          last edited by

                                          @rduarteoliveira Have a look here for a slightly different approach to get the CPU core temperatures via SNMP that works with other CPU core counts as well.

                                          1 Reply Last reply Reply Quote 0
                                          • First post
                                            Last post
                                          Copyright 2025 Rubicon Communications LLC (Netgate). All rights reserved.